Portál AbcLinuxu, 14. května 2025 23:17

Dotaz: PHP trace alebo ako zistím kde sa to zdržiava

8.3.2018 18:58 Peter
PHP trace alebo ako zistím kde sa to zdržiava
Přečteno: 202×
Odpovědět | Admin
Dobrý deň vám prajem

Urobil som si livechat aplikáciu pomocou ratchet websocket, v php mám nainštalovaný modul event tak ako radí dokumentácia (samozrejme, že je aj funkčný) a na serveri kde som to vyvíjal správy lietajú ako z praku (samozrejme, zatiaľ je to len test medzi dvoma účastníkmi). Nasadil som to teda na druhý server, ktorý je úplne identický ako ten prvý, dokonca aj s podobným zaťažením (tým myslím inými programami a používateľmi tých programov) a tam sa ten websocket správa veľmi zvláštne. V jednej, druhej, tretej minúte to ide ako z praku, potom sa správy spomalia a jednej správe (ktorá ma samozrejme pár bajtov) trvá aj 10 sekúnd kým je spracovaná, potom sa to znovu zrýchli atď.

Skúšal som do metódy onMessage na začiatok a koniec dať časovač, ale cez túto metódu správa preletí okamžite, takže problém je niekde inde. Preto sa chcem opýtať, že ako vlastne debugovať - respektíve trasovať takéto niečo. Silne predpokladám, že pomocou xdebug, ale hoci som sa snažil niečo o tom zistiť, tak veľmi múdry z toho niesom.

Za akékoľvek rady budem veľmi vďačný.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.3.2018 01:37 OldFrog {Ondra Nemecek} | skóre: 36 | blog: Žabákův notes | Praha
Rozbalit Rozbalit vše Re: PHP trace alebo ako zistím kde sa to zdržiava
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je potřeba si nechat xdebugem vytvořit trasovací soubor a ten otevřít třeba programem kcachegrind. Funguje to dobře, vidíte kolik času to strávilo ve které funkci. Bohužel samotný xdebug výrazně zpomalí provádění php (několikanásobně). A samozřejmě zjistíte jen časy které to tráví v php na serveru, problém ale může být i na síti, v prohlížeči apod.
-- OldFrog

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.