Autor Zpráva
blazej44800
Profil
Ahojte

Mám VPS s CentOS 6.4 64bit. Beží na ňom Nginx 1.4.4 a PHP-FPM 5.5.6. Skúšam robiť long-polling požiadavky. Avšak, ak server už spracováva jednu požiadavku, na ostatné neodpovedá. To znamená že ak dám do skriptu:

sleep(60);

Webový server nenačíta žiadne iné PHP-čko, pokým tých 60 sekúnd neprejde. Takto vyzerá status page:

pool:                 www
process manager:      dynamic
start time:           26/Nov/2013:22:02:00 +0100
start since:          148
accepted conn:        170
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       1
active processes:     49
total processes:      50
max active processes: 49
max children reached: 1
slow requests:        0

A tu je conf.d/www.conf:

[www]

listen.allowed_clients = 127.0.0.1

user = apache
group = apache

pm = dynamic

pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

pm.status_path = /status

slowlog = /var/log/php-fpm/www-slow.log

php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on

php_value[session.save_handler] = files
php_value[session.save_path]    = /var/lib/php/session
php_value[soap.wsdl_cache_dir]  = /var/lib/php/wsdlcache

Vďaka za každú radu ;)
Davex
Profil
Myslím si, že to není serverem, ale tím, že používáš session. session_start() uzamkne session a další požadavky od stejného klienta čekají na uvolnění zámku.
blazej44800
Profil
Davex:
Áno, mal si pravdu. Veľká vďaka ;)
Jan Tvrdík
Profil
blazej44800:
Jenom doplním, že session zámek lze uvolnit pomocí session_write_close.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0