Wpis z mikrobloga

#pytanie #webdev #linux #debian #php #nginx

mam taki serwer:
Intel Xeon E3 1225v2 3.2 GHz+
ram 32 GB
3x 120 GB SSD

serwer na nginx
jaki config proponujecie dla php-fpm ?

obecnie uzywam takiego:

PHP-FPM pm.max_children = 100
PHP-FPM pm.start_servers = 20
PHP-FPM pm.min_spare_servers = 10
PHP-FPM pm.max_spare_servers = 50
PHP-FPM pm.max_requests = 5000

i wywala czasem error:

WARNING: [pool www] seems busy (you may need to increase pm.start_servers, or pm.min/max_spare_servers), spawning 32 children, there are 0 idle, and 75 total children
config nginx:

worker_processes 20;
pid /var/run/nginx.pid;

events {
worker_connections 5120;
# multi_accept on;
}

http {

fastcgi_buffers 8 16k;
fastcgi_buffer_size 32k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

co proponujecie ?
  • 16
@porner: nie istnieje coś takiego jak "silver bullet" jeżeli chodzi o konfigurację. Nie wiemy co za aplikacja będzie tam uruchomiona, z jakiego optymizera korzystasz dla PHP, jaka jest charakterystyka ruchu. Generalnie konfig ktory podałeś jest z dupy bo wartości są wyssane z palca.

Proponuję:

- przygotować środowisko testowe [aplikacja która będzie na tym serwerze],
- przygotować benchmark - obciążyć serwer i mierzyć CPU/IO/ilość requestów,
- zmieniać parametry i obserwować wyniki
-
@fmfd: serwer pod wiele nie duzych stron, na roznych skryptach wiec testy wydajnosciowe odpadaja, gdzies musialem zrobic byk bo ogolnie load: 0.01, ram 31 gb wolne, a co chwile serwer pada :)
@fmfd: mam juz, byl blad w skrypcie na jednej domenie dodawal nowe gety do linkow costam&costam&costam&costam&costam&costam&costam&costam&costam&costam&costam&costam
@fmfd: serwer ma 6 dni, przekladalem domeny ze starego dedyka na nowy - wiec tak - myslalem ze to kwestia ustawien nginxa - tak sie zlozylo ze wczoraj dodalem felerna domene (ktora pod php worker smigala - nginx widocznie nie lubi takich byczkow)
@porner: dodatkowo możesz spiąć dwa dyski jako raid-1, a /tmp/ pod pliki sesyjne montować w ramie, możliwości jest dużo jak zrobić z tego mega wydajny webserver. 16gb na system z nginixem i php-fpm spokojnie wystarczy, tutaj ważny jest cpu i dysk, no ale o to martwić się nie musisz, pokusiłbym się też o obliczenie worker_connections, ale to warto poprzeć wcześniejszymi testami, podglądem w load oraz możliwości procka pod konkretne strony które