Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 25.07.2006 Ostrzeżenie: (0%)
|
Witam,
Mam jakiś bardzo dziwny problem z długością wykonywania skryptu, a dokładniej z destruktorami. Wszystko wydało się, kiedy napisałem sobie w destruktorze jednego z obiektów metodę zczytującą czas wykonywania i zapisującą go do bazy. Problem w tym, że zaczęły ni stąd ni zowąd pojawiać się czasy rzędu 200-300 sekund (mniej więcej raz na pięć minut, bez żadnej widocznej regularności). Wstawiłem więc kilka timestampów do arraya i wysłałem sobie na maila w przypadku takiego uruchomienia. No i czasy były następujące: Kod Exec times: | ABSTIME | ACTION | ZEROBASE | SPLIT | |1170327265.7606|start | 0.0000| 0.0000| |1170327265.7621|initclass_Config_Main | 0.0015| 0.0015| |1170327265.7663|initclass_Fused_LastRequest | 0.0057| 0.0043| |1170327265.7667|initclass_Fused_Db | 0.0061| 0.0004| |1170327265.7677|initclass_Adodb | 0.0071| 0.0010| |1170327265.7899|initclass_Fused_Auth | 0.0293| 0.0222| |1170327265.7910|initclass_Fused_Track | 0.0304| 0.0011| |1170327265.7921|initclass_Cache_Worker | 0.0315| 0.0011| |1170327265.8134|initclass_Fused_NewRouter | 0.0528| 0.0213| |1170327265.8153|initclass_Fused_Module | 0.0547| 0.0019| |1170327265.8156|initmod_listing | 0.0551| 0.0003| |1170327265.8265|initmod_location | 0.0659| 0.0108| |1170327265.8379|initmod_location | 0.0773| 0.0114| |1170327265.8386|initmod_page | 0.0780| 0.0007| |1170327265.8390|initclass_Savant | 0.0784| 0.0004| |1170327265.8395|initclass_Savant_Savant3 | 0.0789| 0.0006| |1170327265.8415|savant_theme/index/index.php | 0.0809| 0.0020| |1170327265.8417|savant_theme/header.php | 0.0811| 0.0002| |1170327265.8421|savant_/location/tpl/title.php| 0.0815| 0.0004| |1170327265.8425|savant_location/tpl/header.php| 0.0820| 0.0005| |1170327265.8430|initmod_bookmark | 0.0825| 0.0005| |1170327265.8436|savant_theme/index/common.php | 0.0830| 0.0006| |1170327265.8438|savant_/search_no_featured.php| 0.0832| 0.0002| |1170327265.8439|initmod_about | 0.0833| 0.0001| |1170327265.8449|initmod_location | 0.0843| 0.0010| |1170327265.8463|initmod_location | 0.0858| 0.0015| |1170327265.8492|savant_ocation/tpl/selects.php| 0.0887| 0.0029| |1170327266.0053|initmod_iplocation | 0.2447| 0.1561| |1170327266.0071|initmod_listing | 0.2466| 0.0018| |1170327266.0072|initmod_personalization | 0.2467| 0.0001| |1170327266.0126|savant_tion/tpl/iplocation.php| 0.2520| 0.0054| |1170327266.0129|savant_heme/index/featured.php| 0.2524| 0.0003| |1170327266.0173|savant_pl/listing_featured.php| 0.2567| 0.0043| |1170327266.0179|initmod_currency | 0.2573| 0.0006| |1170327266.0217|savant_tion/tpl/breadcrumb.php| 0.2612| 0.0038| |1170327266.0245|savant_/tpl/listing_norows.php| 0.2639| 0.0027| |1170327266.0251|savant_tion/tpl/breadcrumb.php| 0.2645| 0.0006| |1170327266.0263|savant_theme/footer.php | 0.2657| 0.0012| |1170327440.3185|script end | 174.5580| 174.2922| Czyli wszystko w porządku do czasu kiedy skrypt działa. Dla pewności wstawiłem jeszcze die() i przed nim kolejny pomiar. No i znów wyszło j.w. W związku z tym pytania: Spotkał się ktoś z tym problemem?
Strona może ładować sporo danych (może być nawet kilkanaście+ mega), więc na razie podejrzewam jakiś problem ze zwalnianiem pamięci... Chociaż na wykresach pamięci nic takiego nie widać. Używam memcache'a, ale nie widzę żadnych problemów z nim (w runtime działa jak należy), chyba, że to w czasie rozłączenia? Do tego mam jeszcze jeden problem, w którego wypadku pomaga restart apacza. Jak ustalę w czym rzecz, dam znać. Na razie ujawnia się tak, że obciążenie serwera spada do zera, połączenia idą w górę, czasy wykonywania nie rosną (może nie są zapisywane), coś tam się uruchamia, ale rzadko... Help? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ach, jeszcze dwa pytanka: Znacie jakiś sposób wymuszenia na apaczu zamknięcia połączenia? Albo znacie może jakiś sposób na wpłynięcie na kolejność destrukcji obiektów? |
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 00:06 |