Jak skonfigurować serwer z 4 g pamięci, aby uruchomić Drupal 7

9

Instaluję Drupal 7 na nowym serwerze z 4 GB pamięci. Chciałbym uzyskać kilka wskazówek, jak poprawnie to skonfigurować, ile pamięci dać do MySQL i ile pamięci do PHP. Odkryłem, że uruchomienie Drupala 7 na serwerze Zend jest trzy razy szybsze niż uruchomienie go na normalnym serwerze Apache. (Myślę, że ma to związek z buforowaniem opcode. Zauważyłem, że w module devel wykorzystuje jedną trzecią pamięci.

Czy możesz udostępnić mi swoje konfiguracje?

Nicola Peluchetti
źródło

Odpowiedzi:

5

Jeśli masz już Drupal7 Data, powinieneś załadować go do środowiska pomostowego i wykonać zmianę rozmiaru bufora w zależności od ilości posiadanych danych.

Krok 1) Musisz najpierw obliczyć rozmiary buforów dla zestawu danych .

Krok 2) Jeśli zalecane rozmiary przekraczają 75% zainstalowanej pamięci RAM (w twoim przypadku 3 GB), ogranicz wymagane bufory na 3 GB.

Krok 3) Jeśli masz dane InnoDB i nie włączyłeś pliku innodb_file_per_table, musisz wyczyścić InnoDB poprzez segmentację każdej tabeli we własnym fizycznym obszarze tabel (należy to zrobić tylko raz) .

Gdy to zrobisz, powinieneś planować przeprowadzanie tego audytu konfiguracji (kroki 1 i 2) co 6 miesięcy, aby upewnić się, że masz właściwe buforowanie MySQL.

Co ciekawe, zadałem pytanie podobne do tego i odpowiedziałem na nie 15 kwietnia 2011 r .

RolandoMySQLDBA
źródło
4

Niektóre rzeczy do obejrzenia :

Artykuł do przeczytania :

Rackspace: Wdrażanie Drupala w chmurze za pomocą nginx i boosta powinno dać ci wiele pomysłów.

Mały cytat na temat buforowania opcode:

Używamy APC jako pamięci podręcznej opcode. To oszczędza serwerowi przed rekompilacją kodu PHP przy każdym ładowaniu strony. Co więcej, całość łatwo mieści się w pamięci RAM (zwykle dajemy APC 128 MB pamięci RAM). To drastycznie zmniejsza zużycie procesora. Zalogowani użytkownicy mogą teraz przeglądać witrynę znacznie szybciej. Ale nadal możemy obsłużyć tylko ograniczoną liczbę z nich. Możemy zrobić trochę lepiej. Zamiast przesyłać zapytania do MySQL za każdym razem, gdy przechodzimy do pamięci podręcznej, możemy przechowywać te tabele w pamięci. Oto memcached i moduł cacheoutera.

Bart
źródło
2

Zacząłem od my_huge conf z katalogu mysql; Do miksu dodałem także pamięć podręczną Varnish. Jak już się dowiedziałeś, Zend znacznie poprawia wydajność.

Po kilku dniach działania uruchomiłem skrypt mysqltuner i działałem zgodnie z niektórymi zaleceniami, głównie dotyczącymi pamięci podręcznej tabeli tymczasowej.

strzelec
źródło
1

W zależności od rozmiaru strony możesz także zajrzeć do memcached. Będzie to konkurowało o zasoby z mysql, ale może zmniejszyć obciążenie.

Jeremy French
źródło
W rzeczywistości można zmniejszyć zarówno pulę buforów InnoDB, jak i pamięć podręczną kluczy MyISAM, jeśli pamięć jest wystarczająco duża. W ten sposób memcached nie konkuruje z mysql, ale mysql po prostu uzupełni memcached jako kanał danych, a nie jako główną bazę danych. +1 za sugerowanie najpierw zapamiętanego !!!
RolandoMySQLDBA