elroy 6 Zgłoś post Napisano Październik 5, 2012 (edytowany) Witajcie Mam sobie działającą stronę, brak żadnych problemów etc. Jednak jeden z użytkowników dam mi znać, że strona w jednym wątku na forum powoduje błąd. 502 Bad Gateway Szybkie rzut oka do logów i w tym danym temacie na jednej jego stronie w logach dostaję 76 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 178.36.56.117, serv er: www.piwo.org, request: "GET /topic/7182-browar-poremba/page__st__20 HTTP/1.1" Przeszukałem co nieco w sieci, zrobiłem upgrade php do 5.3.17-1~dotdeb.0, nginx w wersji 1.2.0, ale dalej nic. Poradników co zmieniać w konfiguracji są setki, ale nie chcę robić czegoś bezmyślnie. Jak temu zaradzić ? Nie chcę wklejać kilometrów configów, ale oczywiście podam co trzeba (nie ukrywam hosta, może się to do czegoś przyda) Edytowano Październik 5, 2012 przez elroy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
tym 205 Zgłoś post Napisano Październik 5, 2012 (edytowany) Jaki masz konfig dla pool-www? Wygląda na timeout Edytowano Październik 5, 2012 przez tym (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 5, 2012 (edytowany) No właśnie to nie są timeouty, bo forum działa, aktywnych userów ponad setkę i wszystko pracuje ładnie. Jedynie ten jeden wątek. Ale co znalazłem w logach. Po wejściu do tego tematu sypie się php-fpm. php5-fpm[19355]: segfault at 7fff98f8ae58 ip 00000000006771ba sp 00007fff98f8ae20 error 6 in php5-fpm[400000+824000] Nie mam pomysłu za bardzo... config (to co sam zmieniałem, reszta defualtowa) pm = dynamic pm.max_children = 70 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 25 pm.max_requests = 800 Zastanawiam się, czy to nie jest tak, że w tym jednym momencie wysypuje się proces php-fpm i siłą rzeczy zakańczane jest połączenie... Edytowano Październik 5, 2012 przez elroy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
przemon 35 Zgłoś post Napisano Październik 5, 2012 No właśnie to nie są timeouty, bo forum działa, aktywnych userów ponad setkę i wszystko pracuje ładnie. Jedynie ten jeden wątek. Ale co znalazłem w logach. Po wejściu do tego tematu sypie się php-fpm. php5-fpm[19355]: segfault at 7fff98f8ae58 ip 00000000006771ba sp 00007fff98f8ae20 error 6 in php5-fpm[400000+824000] Nie mam pomysłu za bardzo... config (to co sam zmieniałem, reszta defualtowa) pm = dynamic pm.max_children = 70 pm.start_servers = 5 pm.min_spare_servers = 2 pm.max_spare_servers = 25 pm.max_requests = 800 Zastanawiam się, czy to nie jest tak, że w tym jednym momencie wysypuje się proces php-fpm i siłą rzeczy zakańczane jest połączenie... Co to jest dedyk? VPS? RAM-u mu nie brakuje? Korzystasz z jakiegoś php cache? Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 5, 2012 To VPS, 1GB ramu (z czego z 40% wolne), korzystam z APC, wyłączałem, włączałem - nic. Upgradowałem też do najnowszej wersji. Przy czym podkreślam. Mam jeden temat na forum, który ma 3 strony, 1,3 działa, próba wejścia na 2 kończy się błędem Zresztą spróbujcie sami Strona 1 - ok http://www.piwo.org/topic/7182-browar-poremba/ Strona 2 - leży http://www.piwo.org/topic/7182-browar-poremba/page__st__20 Cała reszta serwisu funkcjonuje poprawnie. Udostępnij ten post Link to postu Udostępnij na innych stronach
tym 205 Zgłoś post Napisano Październik 6, 2012 Na bank limity php/nginx. Sprawdź dokładnie logi nginx i php-fpm. Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 6, 2012 (edytowany) Na bank limity php/nginx. Sprawdź dokładnie logi nginx i php-fpm. W logach są tylko informacje o: 1 - messages Oct 6 08:24:29 elroy2 kernel: [39867.442207] php5-fpm[24542]: segfault at 7fffbd99bf18 ip 00000000004804f1 sp 00007fffbd99bec0 error 6 in php5-fpm[400000+824 000] 2 - php-fpm [06-Oct-2012 08:24:29] WARNING: [pool www] child 24542 exited on signal 11 (SIGSEGV) after 29.104878 seconds from start 3 - nginx 2012/10/06 07:52:05 [error] 32583#0: *21768 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 83.27.60.98, se rver: www.piwo.org, request: "GET /topic/7182-browar-poremba/page__st__20 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", I to tylko w momencie wejścia do tego jednego feralnego wątku. Więcej błędów brak Edytowano Październik 6, 2012 przez elroy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Październik 6, 2012 Problem z FPM, przekopiluj z dev albo uruchom przez spawn-fcgi. Udostępnij ten post Link to postu Udostępnij na innych stronach
przemon 35 Zgłoś post Napisano Październik 6, 2012 Problem z FPM, przekopiluj z dev albo uruchom przez spawn-fcgi. Bankowo jest problem z FPM z tym że to drugie co napisałeś, to obejście problemu a nie rozwiązanie. Włącz na chwile w konfiguracji php5-fpm log_level=debug i wklej nam tutaj co wypluł fpm. To się stało po upgrade php lub fpm, czy tak samo z siebie? Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 6, 2012 (edytowany) Dzięki wszystkim za chęci, bo mnie osobiście tego typu problemy przyprawiają o ból głowy i przerażenie (z besilności.. ), bo wiem że z moją wiedzą ciężko znaleźć rozwiązanie... Po włączeniu debugowania w php-fpm [06-Oct-2012 19:39:02.446493] DEBUG: pid 10407, fpm_scoreboard_init_main(), line 40: got clock tick '100' [06-Oct-2012 19:39:02.447530] DEBUG: pid 10407, fpm_event_init_main(), line 331: event module is epoll and 1 fds have been reserved [06-Oct-2012 19:39:02.447616] NOTICE: pid 10407, fpm_init(), line 83: fpm is running, pid 10407 [06-Oct-2012 19:39:02.447636] DEBUG: pid 10407, main(), line 1815: Sending SIGUSR1 (OK) to parent 10406 [06-Oct-2012 19:39:02.449685] DEBUG: pid 10407, fpm_children_make(), line 421: [pool www] child 10408 started [06-Oct-2012 19:39:02.451407] DEBUG: pid 10407, fpm_children_make(), line 421: [pool www] child 10409 started [06-Oct-2012 19:39:02.455248] DEBUG: pid 10407, fpm_children_make(), line 421: [pool www] child 10410 started [06-Oct-2012 19:39:02.456989] DEBUG: pid 10407, fpm_children_make(), line 421: [pool www] child 10411 started [06-Oct-2012 19:39:02.458743] DEBUG: pid 10407, fpm_children_make(), line 421: [pool www] child 10412 started [06-Oct-2012 19:39:02.458771] DEBUG: pid 10407, fpm_event_loop(), line 360: 82424 bytes have been reserved in SHM [06-Oct-2012 19:39:02.458780] NOTICE: pid 10407, fpm_event_loop(), line 361: ready to handle connections [06-Oct-2012 19:39:03.461139] DEBUG: pid 10407, fpm_pctl_perform_idle_server_maintenance(), line 379: [pool www] currently 1 active children, 4 spare children , 5 running children. Spawning rate 1 Ostatni wpis powtarza się około 50-80 razy, nie wklejam. Edytowano Październik 6, 2012 przez elroy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 7, 2012 Jako, że dalej problemu nie rozwiązałem mam dodatkowe pytanie. Czy taką sytuacje może spowodować jakiś wadliwie działający skrypt na serwerze ? Coś po stronie oprogramowania forum etc ? Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Październik 8, 2012 Bankowo jest problem z FPM z tym że to drugie co napisałeś, to obejście problemu a nie rozwiązanie. To taka branża, w której wszystko ma działać i niekiedy trzeba obejść problem jeżeli można przywrócić usługę do pełnej sprawności. Tu mógłby pomóc strace, aczkolwiek po co się z tym męczyć jak można szybko wyjść z sytuacji uruchamiając inaczej php. Przy jednym forum podmiana na spaw-fcgi to chwila i wszystko będzie działać, gdy wyjdzie poprawka można wrócić do starego menadżera. Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 8, 2012 Patrys, a możesz mi podrzucić jak to wykonać? Mam standardową instalację nginx+pfp-fpm (Debian, wszystko z paczek z dotdeb.org) Udostępnij ten post Link to postu Udostępnij na innych stronach
Gość patrys Zgłoś post Napisano Październik 8, 2012 apt-get install spawn-fcgi I jakiś prosty skrypcik, podmień tylko nazwę domeny w zmiennych fcgisocket ( tak jak masz w nginx ) i scan_dir ( by po utworzeniu katalogu w /etc/php5 o nazwie domeny można mu dać indywidualne ustawienia) i użytkownika z którego ma startować w userid i groupid #!/bin/sh SPAWNFCGI="/usr/bin/spawn-fcgi" FCGIPROGRAM="/usr/bin/php-cgi" FCGISOCKET="/tmp/www/domena.pl.sock" PHP_FCGI_CHILDREN=10 PHP_INI_SCAN_DIR="/etc/php5/domena.pl.d" ALLOWED_ENV="PATH USER PHP_INI_SCAN_DIR" USERID=USER GROUPID=USER export PHP_INI_SCAN_DIR E= for i in $ALLOWED_ENV; do E="$E $i=$(eval echo "\$$i")" done env - $E $SPAWNFCGI -s $FCGISOCKET -f $FCGIPROGRAM -u $USERID -g $GROUPID -C $PHP_FCGI_CHILDREN chmod 777 $FCGISOCKET Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 8, 2012 Dzięki Patrys! Co prawda jeszcze nie skorzystałem z porady, bo przypadkiem znalazłem winnego. (aczkolwiek nie rozwiązanie) Wina tkwi jednak po stronie softu. Forum pracuje na ip.board (jak wht) i próba dodania lub wyświetlenia znacznika sharedmedia=gallery:albums:nr_albumu który można sobie wybrać z zakładki Moje Media z poziomu edytora (wyświetla własny album z galerii) powoduje taki błąd. Najwyraźniej stało się tak w momencie jakiejś aktualizacji oprogramowania, bo problem wcześniej jako taki nie występował. No nic, walczę dalej. Udostępnij ten post Link to postu Udostępnij na innych stronach
megi 358 Zgłoś post Napisano Październik 8, 2012 (edytowany) Raczej nie. Zauwaz, ze php nie rzucilo Ci normalnego bledu, tylko segfaultnelo. Jesli nawet skrypt php jest wadliwy, php powinno go zinterpretowac i sie na czysto zakonczyc. Nie zawsze jest to możliwe - jeżeli w skrypcie np. zapętlisz rekurencyjne wywołania i nastąpi przekroczenie stosu to maszyna wirtualna php nie będzie miała szansy zareagować i w ładny sposób tego obsłużyć, tylko właśnie wysegfaultuje. Edytowano Październik 8, 2012 przez megi (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 9, 2012 Samu, a jak zmusić php, żeby tworzył plik .core? Przyszukałem wszystkie katalogi i takiego u mnie nie ma. Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 9, 2012 (edytowany) Chyba nie jest za dobrze, bo stworzył mi się plik rzędu 500MB, ale w treści jakieś bzdury. Jak powinien wyglądać taki plik ? Fragment poniżej 1ŔA]Ăffffff.„ H‹©ý˙˙‹öÂtfó‹öÂu÷H‹ý˙˙H‹@PH‰H‹‚ý˙˙H‹@XH‰GH‹sý˙˙;uż1ŔĂfff.„ H‹Yý˙˙‹öÂtfó‹öÂu÷H‹@ý˙˙H‹pPH‹HXHp@HHH;uĚHů˙Éš;H‰ČH‰ň~D H- Ęš;HÂH=˙Éš;îH…Ŕy HęH Ęš;xôH‰GH‰1ŔĂf.„ H‹Ůü˙˙‹P…Ňt˙t=~K˙t˙ tHc˙¸ä Ă H‰÷éřţ˙˙„ H‰÷é8˙˙˙„ Hx tËH‰÷éţ˙˙…˙uľHx t·H‰÷fé;ý˙˙ff.„ UH‰őSH‰űHěH‹Mü˙˙‹H…ÉtFHx t?H…˙t*fčý˙˙H‹KHşĎ÷SăĄ›Ä H‰ČHÁů?H÷ęHÁúH)ĘH‰S1ŔH…íuHÄ[]Ăf¸` H‰ßH‰îëčH‹ęű˙˙‹@‰E H‹Ýű˙˙‹@‰E1ŔëĘH‹Áű˙˙8t$¸{ ČH…˙t ‰Č%˙ ‰H…ötÁé‰1ŔĂůëßGCC: (Debian 4.3.5-4) 4.3.5 .shstrtab .hash .dynsym .dynstr .gnu.version .gnu.version_d .note .eh_frame_hdr .eh_frame .dynamic .rodata .data .text .rela.dyn .comment p˙˙˙˙˙ 8 Xp˙˙˙˙˙X Ř 0p˙˙˙˙˙0 R Edytowano Październik 9, 2012 przez elroy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 9, 2012 Ok, jest tego dużo, to wklejam na pastebin http://pastebin.com/178uxPPk Niestety nie potrafię z tego odczytać co jest nie tak... Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 9, 2012 (edytowany) Znalazłem poprzez strace fragment kodu który powoduje walnięcie procesu (martwią mnie tam wpisy not found...). Prosiłbym bardzo o zerknięcie. W związku, że mam u producenta softu wykupione wsparcie techniczne, uważacie, że to już argument, żeby im to zgłosić ? (zwlekam z tym, bo lubią zgrabnie w takich sytuacjach odesłać do administratora serwera ) gal.zip Edytowano Październik 9, 2012 przez elroy (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
przemon 35 Zgłoś post Napisano Październik 12, 2012 Znalazłem poprzez strace fragment kodu który powoduje walnięcie procesu (martwią mnie tam wpisy not found...). Prosiłbym bardzo o zerknięcie. W związku, że mam u producenta softu wykupione wsparcie techniczne, uważacie, że to już argument, żeby im to zgłosić ? (zwlekam z tym, bo lubią zgrabnie w takich sytuacjach odesłać do administratora serwera ) gal.zip Nie było mnie parę dni i widzę, że problem rozwiązany. Może jakieś wyjasnienie prosimy co było na rzeczy? Udostępnij ten post Link to postu Udostępnij na innych stronach
elroy 6 Zgłoś post Napisano Październik 18, 2012 Jest to stwierdzony błąd w Gallery 5.0.2 , dodatku do IP.board. Producent w kolejnej wersji ma wypuścić poprawkę. Udostępnij ten post Link to postu Udostępnij na innych stronach