Jump to content
Sign in to follow this  
Imperator

OsCommerce - 504 Gateway Timeout i 500 Internal Server Error

Recommended Posts

Witam

Mam taki problem ze sklepem opartym na OsCommerce:

Strona działa jak burza wszystko super, ale czasami przy zmianie statusu zamówienia zaczyna mielić w nieskończoność i wyskakuje błąd:

500 Internal Server Error

Sytuacja wraca do normy zawsze po 15-20 minutach i znów działa wszysko rewelacyjnie, a zmiana statusu trwa ułamek sekundy. Chciałbym też zauważyć że strona dla użytkowników działa poprawnie wszystko się wczytuje, można oglądać produkty i zamawiać! Tylko w panelu Admina przy zmianach statusu zamówień się sypie.

Pan od serwerów stwierdził że strona rozrosła się od momentu instalacji 10-krotnie i trzeba ją przenieść na lepszy szybszy serwer i że to rozwiąże problem, bo skrypt jest przestarzały itp.

Tak więc strona została przeniesiona na ten lepszy i szybszy serwer. Strona działa fantastycznie, a składanie zamówień kilkukrotnie przyśpieszyło. Niestety dalej jest ten sam problem co wcześniej, czasami przy zmianie statusu zamówienia znowu zaczyna mulić w nieskończoność i wyskakuje błąd tylko inny:

504 Gateway Timeout

I tak jak wcześniej po kilku minutach sytuacja wraca do normy i wszystko działa super


Tak więc tutaj pojawia się moje pytanie. Co może być problemem? To wina Serwerów? Bo Pan od hostingu twierdzi że u niego wszystko jest ok. i serwery działają świetnie. Czy też może to być wina softu, ale to byłoby dziwne bo przez 99% czasu strona działa fantastycznie.


Reklamy Ceneo - 20gr za każdy klik + 65% prowizji z usługi Kup na Ceneo.

Share this post


Link to post
Share on other sites

A sprawdzałeś co mówią logi w momencie występowania błędu?

Bez tego, to jak wróżenie z fusów.

Share this post


Link to post
Share on other sites

Nie pamiętam co się mieli przy zmianie statusów ale możesz przekraczać limity zapytań/połączeń do bazy lub limit czasu wykonywania - tak jak mówi kolega sprawdź logi (możesz też włączyć dodatkowe logowanie w osc) i porównaj z limitami serwera.

Share this post


Link to post
Share on other sites

A sprawdzałeś co mówią logi w momencie występowania błędu?

Logi poniżej (wycięta nazwa strony):

Script timed out before returning headers: php-cgi, referer: http://www.xxxxx.pl/admin/orders.php?oID=40490&action=editScript'>http://www.xxxxx.pl/admin/orders.php?oID=40490&action=editScript timed out before returning headers: php-cgi, referer: http://www.xxxxx.pl/admin/orders.php?oID=40476&action=editScript timed out before returning headers: php-cgi, referer: http://www.xxxxx.pl/admin/orders.php?oID=40490&action=editScript'>http://www.xxxxx.pl/admin/orders.php?oID=40490&action=editScript timed out before returning headers: php-cgi, referer: http://www.xxxxx.pl/admin/orders.php?oID=40490&action=editScript'>http://www.xxxxx.pl/admin/orders.php?oID=40490&action=editScript timed out before returning headers: php-cgi, referer: http://www.xxxxx.pl/admin/orders.php?status=15&page=1&oID=40476&action=editScript timed out before returning headers: php-cgi, referer: http://www.xxxxx.pl/admin/orders.php?oID=40490&action=edit

ale możesz przekraczać limity zapytań/połączeń do bazy lub limit czasu wykonywania

A co zrobić żeby nie przekraczać?

Edit: Logi z dzisiaj z godziny 13.00 do 13.15. A po 15 minutach wszystko wróciło do normy i działa bez problemów

Edited by Imperator

Reklamy Ceneo - 20gr za każdy klik + 65% prowizji z usługi Kup na Ceneo.

Share this post


Link to post
Share on other sites

Włącz logowanie w osc - o ile pamiętam to będzie tam info jakie zapytania wtedy robi i jakie ma czasy odpowiedzi.

Sprawdź jakie masz max_execution_time w php - ewentualnie można trochę zwiększyć jak jest 30s

Żeby nie przekraczać to albo zwiększyć te limity albo zoptymalizować skrypt (przynajmniej dla tej operacji) ;)

BTW: Tak na oko, to ta podstrona jeśli nie była zmieniana to chyba nie powinna zarzynać serwera ani trwać zbyt długo - chyba, że masz setki dostępnych statusów albo przy okazji coś się mieli... ;)

Share this post


Link to post
Share on other sites

Włącz logowanie w osc

Mam coś takiego jak Logi:

Przechowuj czas przetwarzania strony -> false

Pokazuj czas przetwarzania stron -> false

Przechowuj zapytania do bazy danych -> false

Pokaż ilość zapytań SQL i czas generowania -> true

Debuguj zapytaia SQL -> false

to o to chodzi?

masz max_execution_time

W informacjach o serwerze pokazuje że jest -> max_execution_time 30 Tylko nie bardzo rozumiem co zmieni zwiększenie tego parametru bo się nie znam. Przez 99,9% czasu zmiana statusu trwa ułamek sekundy.

chyba, że masz setki dostępnych statusów

Nie. To jest jeden czy dwa statusy zamówień zmieniane w jednym momencie

Edited by Imperator

Reklamy Ceneo - 20gr za każdy klik + 65% prowizji z usługi Kup na Ceneo.

Share this post


Link to post
Share on other sites
to o to chodzi?

Nie wiem która macie wersję i jak przerobioną ;)

W którejś wersji oryginału to było pod adresem w stylu xxx.pl/admin/configuration.php?gID=10

oraz do ustawienia: Store Page Parse Time, Log Destination, Log Date Format, Store Database Queries.

Display The Page Parse Time ustaw na false, żeby nie waliło na stronie logami a tylko zapisywało do pliku...

max_execution_time spróbuj 60 - nie wiem czy możecie zmienić, czy musisz zgłosić się do hostingodawcy

w skrócie teraz skrypt php po 30s przerywa działanie a jeśli w tym czasie nie zdąży to pojawiają się np. te błędy typu timed out - zwiększając na 60 dasz skryptowi więcej czasu na wykonanie...

Odnośnie statusów to nie to miałem na myśli ;)

Share this post


Link to post
Share on other sites

Masz tam dostęp do roota?

Być może potrzeba lekkiego tuningu konfiguracji.

Jeśli masz dostęp do php.ini, to tam możesz wydłużyć max_execution_time.

Share this post


Link to post
Share on other sites

zwiększając na 60 dasz skryptowi więcej czasu na wykonanie...

Jeśli masz dostęp do php.ini, to tam możesz wydłużyć max_execution_time.

Ogólnie pewnie można by zwiększyć nawet do 1h, tylko właśnie nie o to mi chodzi. Szukam przyczyny czemu tak się dzieje, że czasem zatyka się to na kilkanaście minut, a 99,9% czasu działa poprawnie.

W którejś wersji oryginału to było pod adresem w stylu xxx.pl/admin/configuration.php?gID=10

Właśnie pod tym adresem są te opcje co pisałem.

Przechowuj czas przetwarzania strony -> false

Pokazuj czas przetwarzania stron -> false

Przechowuj zapytania do bazy danych -> false

Pokaż ilość zapytań SQL i czas generowania -> true

Debuguj zapytaia SQL -> false

Już włączam to :)


Reklamy Ceneo - 20gr za każdy klik + 65% prowizji z usługi Kup na Ceneo.

Share this post


Link to post
Share on other sites

Być może przez dużą liczbę jednoczesnych połączeń, przekraczasz limit ilości otwartych plików na serwerze. Być może przekraczasz limity jednoczesnych połączeń do MySQLa i wtedy część skryptów nie wyrabia się w dopuszczalnym czasie wykonywania.

Ja zacząłbym od sprawdzenia właśnie ilości otwartych plików, wartości limitu jednocześnie otwartych plików, może mały tuning MySQLa i problem powinien ustąpić.

Share this post


Link to post
Share on other sites
Szukam przyczyny czemu tak się dzieje,

To trzeba by analizować logi i sprawdzać na czym się wykłada :)

Już włączam to :)

Wyłącz pokazywanie, bo to chyba wyświetla info w stopce - reszta na true, żeby się zapisywało w pliku.

Na początek spróbuj zwiększyć max_execution_time do 60, choć dobrze zoptymalizowany oscommerce bez dziwnych przeróbek powinien się wyrobić się w 30s.

Jak się uda znowu wywołać błędy to trzeba przeanalizować logi, które włączyłeś i powinna się pojawić jakaś wskazówka co bruździ ;)

Share this post


Link to post
Share on other sites

Jak się uda znowu wywołać błędy to trzeba przeanalizować logi, które włączyłeś i powinna się pojawić jakaś wskazówka co bruździ

Włączone i czekam aż wystąpi błąd :)

Być może przez dużą liczbę jednoczesnych połączeń, przekraczasz limit ilości otwartych plików na serwerze. Być może przekraczasz limity jednoczesnych połączeń do MySQLa i wtedy część skryptów nie wyrabia się w dopuszczalnym czasie wykonywania.

A jak to sprawdzić?


Reklamy Ceneo - 20gr za każdy klik + 65% prowizji z usługi Kup na Ceneo.

Share this post


Link to post
Share on other sites

Włącz logowanie w osc - o ile pamiętam to będzie tam info jakie zapytania wtedy robi i jakie ma czasy odpowiedzi.

Jest Lipa :( Po włączeniu Logowania niestety nic nie zapisuje do pliku. Coś nie działa ta opcja :(


Reklamy Ceneo - 20gr za każdy klik + 65% prowizji z usługi Kup na Ceneo.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By rbpl
      Witam
      Szukam do stałej współpracy Developera oscommerce (wersja bootstrap). Na początek do wykonania są poprawki w wyglądzie i działaniu menu mobilnego. W dalszej kolejności do zaprojektowania i modyfikacji będzie  wyglad strony głównej (prezentacji produktów) oraz podstron z lista produktów.
      Zainteresowanych proszę o kontakt l.zalewski@vip-solution.pl
    • By brabus
      Witam wszystkich, jest to mój początek tutaj, więc proszę o wyrozumiałość
       
      Chcę zmienić wygląd standardowego sklepu OSC (wersja 2.3.4) moje pytanie do Was pewnie proste, ale nie znalazłem odpowiedzi, dlatego pytam tu:
      - gdzie znajdują się pliki źródłowe od "szablonu" strony
      - jak instaluje się taki "szablon" czy odbywa się to tylko i wyłącznie poprzez podmianę plików.
       
      "Ogarniam" html, css i po części php, chce sam sobie napisać motyw.
       
      Z góry dzięki za wszelkie informacje.
    • By euroaprk
      Witam
      Mam problem sąciągnąłem sobie darmową temlatkę, oscommerce 2.2rc2 wgrałem polskie pliki, i niestety gdy chcę dodać nowy produkt, nie dodaje opisu i tyluł gdy jest polska litera ą,ś,ż,ź itp itd. dodam że dodałem w pliku database set names latin2 i nic z tego.
      Pozdrawiam i dziękuje za pomoc
    • By Raskol
      Witam,
      Szukam modułu do zarządzania cenami wysyłki poszczególnych produktów dla sklepu na skrypcie OSCommerce (dystrybucja esklep-os.com). Istotne jest, aby za pomocą modułu można było przypisać koszt wysyłki dla każdego produktu z osobna. Jeśli istnieją takie rozwiązania - proszę o nakierowanie na nie. Jeśli nie, gotów jestem zlecić napisanie takiego skryptu. Jeśli jest ktoś zainteresowany, zapraszam na priv.
    • By Raskol
      Witam,
      Piszę ponieważ gryzę się z problemem, a wiem, że jest tutaj wielu specjalistów
      Posiadam nowo założony sklep internetowy oparty na skrypcie OSCommerce (dystrybucja esklep-os.com). Podczas przypisywania kategoriom na sztywno (osobno dla każdej kategorii) tagu <title>, jego zawartość jest powielana na podstronie danej kategorii, bezpośrednio pod napisem "Znalezione produkty" (klasa PageHeading). Nie muszę oczywiście wspominać, że wygląda to bardzo źle.
      Docelowo chciałbym, aby w tym miejscu wyświetlała się jedynie nazwa danej kategorii, nie zaś zduplikowana zawartość tagu <title>.
      Drugim rozwiązaniem jest usunięcie odpowiedzialnej za wyświetlanie nagłówka klasy PageHeading, jednak nie wiem, który plik jest za to odpowiedzialny.
      Oczywiście mogę przypisać domyślne metatagi dla wszystkich kategorii, ale z racji zróżnicowania produktów w nich występujących, wolałbym tego nie robić.
      Z góry dziękuję za pomoc.
      Pozdrawiam serdecznie
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use Privacy Policy