Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wycieki pamięci
Forum PHP.pl > Forum > PHP
BugsBunny
Cześć.

Tworzymy w firmie dużą aplikację php + symfony + postgres. Mamy dość spory ruch na platformie i pojawia się problem z wyciekiem pamięcie. W godzinach szczytu kończy nam się pamięć na platformie. Rozmowy z administratorem wskazują na to, że problemy są w kodzie.

W jaki sposób można przeanalizować taką aplikację w poszukiwaniu wyciekającej pamięci?

Na pierwszą myśl przychodzą mi problemy z niezamkniętymi połączeniami do bazy danych oraz otwartymi uchwytami plików. Czy łaczenie z SMTP również może powodować tego typu problemy? Czy są dostępne narzędzia do takich analiz ?
lukaskolista
Cytat
Na pierwszą myśl przychodzą mi problemy z niezamkniętymi połączeniami do bazy
Jezeli otwierasz polaczenie do postgresa podajac jedynie string z definicja dostepu to jest to polaczenie tymczasowe zamykane po zakonczeniu wykonywania skryptu. Proponuje zaczac od benchmarkow zuzycia pamieci zapisywanych do plikow, nalezy umiescic taki benchmark najlepiej wszedzie gdzie sie da i oznaczyc go unikalnym identyfikatorem, wtedy bedziecie wiedzieli gdzie jest najwieksze zuzycie pamieci. Slyszalem rowniez (nie sprawdzalem sam) ze symphony to straszny kombajn. Jezeli pracujecie na wskaznikach plikow to nie powinno to stanowic problemu, jezeli natomiast uzywanie funkcji file_get_contents() lub file() to one moga znaczaco obciazyc pamiec.
mls
http://xdebug.org/ lub chociażby logowanie w "strategicznych" punktach kodu aktualnego użycia pamięci poprzez memory_get_usage.
kosmowariat
symfony to niezła krowa smile.gif zacznij od xdebuga, nie poruszone w topicu są także kwestie cache, optymalizacji samego serwera
BugsBunny
O część symfonową się nie boję. System jest na tyle duży że cześć napisana jest w symfony a cześć w czystym PHP.

Niestety na produkcji xdebuga nie zaisntalujemy. Problem pojawił się kilka dni temu gdy nagle zaczął szwankować wykres ramu. Sprawdziliśmy zmiany jakie weszły w tym czasie i nie pomogło. Wycofaliśmy nawet wersje sprzed zmian z tamtego dnia i też nic.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.