Skocz do zawartości

Optymalizacja skryptów pod kątem obciążenia serwera


verSuS

Rekomendowane odpowiedzi

Hej,

niestety Googlebot robi mi straszną masakrę na serwerach. Muszę poprzerabiać wszystkie skrypty. Podpowiedzcie jakie rozwiązania są najlepsze w takich sytuacjach?

Takie rzeczy przychodzą mi do głowy:

1. Lepiej jedna tabela w bazie danych na wszystko w stylu [id;id_atrybutu;wartość] z indexem na id_atrybutu czy lepiej każdy atrybut w osobnej tabeli? (powiedzmy koło 20 różnych atrybutów, tabele po 50k rekordów)

2. Lepiej przechowywać dane w plikach xml, txt czy w bazie danych:

a) jeżeli danych jest dużo np. sklep i 3000 produktów (produkty się nie zmieniają)

:) jeżeli danych jest mało np. mini strona firmowa (dane się nie zmieniają)

3. Czy przejście na postgresa z mysqla zmniejsza obciążenie czy nie? Czy sqlite jest lżejszy od mysqla?

4. Logowanie czy bardzo obciąża? (loguje kilka giga tygodniowo)

5. Czy to, że jest dużo domen jakoś wpływa na obciążenie, poza tym, że teoretycznie powinno być więcej ruchu?

6. Czy to, że jest dużo plików w katalogu (np. cache albo zdjęcia, liczby powiedzmy 10-20k plików w jednym folderze) jakoś wpływa i lepiej rozbijać to na mniejsze, czy jest ok i bardziej zamuli przy większej ilości katalogów?

Nie wiem co jeszcze mógłbym się zapytać. Jak się znacie to będziecie wiedzieli co jeszcze powinienem wziąść pod uwagę :D

Z góry dzięki!

TANIE PUNKTY SWL - Automatyczna transakcja - punkty w 5 minut na Twoim koncie (seomatik, gotlink, statlink)

HURTOWE ILOŚCI: Linki z PageRank (ponad 1000 domen PR1-5)

Sławomir Siudek+

Odnośnik do komentarza
Udostępnij na innych stronach

. Jak się znacie to będziecie wiedzieli co jeszcze powinienem wziąść pod uwagę :D
- przede wszystkim wdrożenie systemu cache, ale opartego na memcache nie pliki;

- zmiana serwera HTTP na wydajniejszy np: nginx o ile nadal jest apache;

- audyt oprogramowania pod kątem optymalizacji zapytań do bazy, indeksów itd...

https://dev.mysql.com/doc/refman/5.0/en/explain.html

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Do tego co Mion pisał dorzuciłbym INNODB(bardzo wydajny system w porównaniu do MyISAM jeżeli chodzi o UPDATE i DELETE co do odczytu to MyISAM lepiej się sprawuje) obecnie można korzystać z obydwóch tych systemów przy wykorzystaniu mechanizmów replikacji, dodanie indeksów w zapytaniach tam gdzie trzeba, pobieranie danych których potrzebujemy czyli zamiast SELECT * to SELECT 'kolumna ktorą potrzebujemy','2 kolumna ktorą potrzebujemy'. Kolejna rzecz to cache dla plików graficznych, css-ów i skryptów i tak jak MION pisze dodatkowo memcache. Optymalizacja UPDATE i DELETE bazy do jak najmniejszej ilości wywołania tego polecenia w skrypcie. Czyli nie wrzucać w pętle tylko zmienna pomocnicza i za pętlą wykonujesz jeden DELETE lub UPDATE na podstawie zmiennej pomocniczej. Jak coś jeszcze przyjdzie do głowy to dopiszę

--------------Dno jest wtedy,kiedy nie ma juz nawet mułu.--------------------

Turystyka na sprzedaż , Podróże małe i duże, Egipt, Turcja, Tunezja, Chorwacja...

Poszukuję zatrudnienia.

Będzie bez linka a co :D

poezjapozycjonowania(kropka)blogspot(kropka)com

NEW!!! - Blask Serpów (Prolog) W przygotowaniu: Chapter 1 - Blask Serpów

Odnośnik do komentarza
Udostępnij na innych stronach

Niemal na wszystkie Twoje pytania można odpowiedzieć: to zależy. Nie ma jednej słusznej odpowiedzi bo wszystko zależy od danych aplikacji, serwera i wielu innych mniejszych czynników. Przede wszystkim powinieneś zdiagnozować "wąskie gardło" tych aplikacji, a dopiero potem szukać rozwiązania konkretnego problemu. Bo jak na razie jest to takie szukanie po omacku.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności