<div dir="ltr"><div class="gmail_default" style="font-size:small">Ahoj,</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Tohle vypadá, že PHP-FPM z nějakého důvodu zavře to fcgi spojení. Dokážeš vytáhnout nějaké podezřelé logy z toho PHP-FPM a zkusit uhodnout, proč to dělá ?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">--Věroš Kaplan</div><div class="gmail_default" style="font-size:small"><a href="http://veroskaplan.cz/">http://veroskaplan.cz/</a></div><div class="gmail_default" style="font-size:small">Školíme Ansible: <a href="http://ansible.cz/">http://ansible.cz/</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-12-02 8:25 GMT+01:00 Branislav Viest <span dir="ltr"><<a href="mailto:info@branoviest.com" target="_blank">info@branoviest.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:arial,helvetica,sans-serif;font-size:12pt;color:#000000"><div>Ahoj,</div><div><br></div><div>mám tady jeden server kde je cca 35k lidí za vteřinu. Běží tu nginx + php fpm a mysql db. V nginxu jsem rozjel microcache, což hodně ulevilo zátěži serveru. Nicméně, mám problém s PHPkem. FPM běží přes TCP (zkoušel jsem i unix socket nicméně bylo to pomalější a docházelo ke stejnému problému). Dle error logu dochází k těmto chybám:</div><div><br></div><div>2015/12/01 23:26:56 [error] 27043#0: *122476 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 188.114.98.51, server: xxx request: "GET /xxx/xxxx/xxx HTTP/1.1", upstream: "fastcgi://<a href="http://127.0.0.1:9000" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 127.0.0.1:9000</a>", host: "xxxx", referrer: "<a href="http://xxxxx" target="_blank"><font color="red"><b>MailScanner has detected a possible fraud attempt from "xxxxx" claiming to be</b></font> http://xxxxx</a>"<br>2015/12/01 23:26:56 [error] 27032#0: *124368 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 188.114.99.50, server: xxxxxx, request: "GET /xxxxx/xxxxx HTTP/1.1", upstream: "fastcgi://<a href="http://127.0.0.1:9000" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 127.0.0.1:9000</a>", host: "xxxxx", referrer: "xxxxx"</div><div><br></div><div>a sype to tam docela drsně. Jak vypnu kešování v nginxu load vyskočí, třeba i na 500, těch chyb PHPka je méně ale jsou tam pořád. </div><div><br></div><div>Konfigurace FPM pro pool toho webu je:</div><div><br></div><div>[web1]<br><br>listen = <a href="http://127.0.0.1:9000" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 127.0.0.1:9000</a><br>listen.allowed_clients = 127.0.0.1<br>listen.owner = web1<br>listen.group = client0<br>listen.mode = 0660<br>listen.backlog = 65536<br><br>user = web1<br>group = client0<br><br>request_slowlog_timeout = 5s<br>slowlog = /var/log/php-fpm/slowlog-web1.log<br><br>pm = dynamic<br>pm.max_children = 7000<br>pm.start_servers = 4000<br>pm.min_spare_servers = 2000<br>pm.max_spare_servers = 4000<br>pm.max_requests = 100<br><br>request_terminate_timeout = 60s<br>rlimit_files = 500000<br>rlimit_core = unlimited<br>catch_workers_output = yes<br><br>pm.status_path = /php-status<br><br>chdir = /<br></div><div><br></div><div>+ openbasedir, sessions save path. atp.</div><div><br></div><div>S těma hodnotama jsem se zkoušel různě hrát, nicméně to k vyřešení tohoto problému nepomohlo. Zkoušel jsem upravit i nějaké parametry jádra (local port range, tcp ack timeouty atp.) ale výsledek stejný. Dělá to i u unix socketu, což je mi právě zvláštní. Nginx konfigurace je:</div><div>user www-data;<br>worker_processes 80;<br>pid /run/nginx.pid;<br># set open fd limit to 50000<br>worker_rlimit_nofile 100000;<br><br>events {<br> worker_connections 1024;<br> multi_accept on;<br> use epoll;<br>}<br></div><div><br></div><div>ve vhostu nic zvlastniho, jenom pro php:</div><div><br></div><div> fastcgi_split_path_info ^(.+\.php)(/.+)$;<br> fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;<br> include /etc/nginx/fastcgi_params;<br> fastcgi_pass <a href="http://127.0.0.1:9000" target="_blank"><font color="red"><b>MailScanner warning: numerical links are often malicious:</b></font> 127.0.0.1:9000</a>;<br> fastcgi_index index.php;<br> fastcgi_intercept_errors on;<br> fastcgi_read_timeout 4m;<br></div><div><br></div><div>Dnes bude k tomuto server nový, pro rozdělení zátěže, ale jako fakt nevím jestli to má smysl ve stejné konfiguraci, kvůli těm php chybám. Nenapadá Vás kluci, co s tím? Nebo případně návrh řešení, kterým bych nahradil tohle, při dvou serverech ? Přemýšlím nad MySQL M - M replikací, v DNS round robin a GlusterFS pro data. Ale to phpko mi nedá spát. A dnes večer to už další nápor asi nedá.</div><div><br></div><div>Díky za rady a konzultace.</div><div><br></div><div>S pozdravem<span class="HOEnZb"><font color="#888888"><br>Branislav Viest<br></font></span></div></div></div><br>_______________________________________________<br>
Community-list mailing list<br>
<a href="mailto:Community-list@lists.vpsfree.cz">Community-list@lists.vpsfree.cz</a><br>
<a href="http://lists.vpsfree.cz/listinfo/community-list" rel="noreferrer" target="_blank">http://lists.vpsfree.cz/listinfo/community-list</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">--V.Kaplan</div></div>
</div>