Wpis z mikrobloga

#programowanie #php #symfony
Hej mirki, mam taki problem. Mam aplikację, która korzysta z websocketów. Serwer websocketowy to https://github.com/ratchetphp/Ratchet. Do tego aplikacja korzysta z https://github.com/broadway/broadway-bundle (nie wiem czy to bedzie mialo jakies znaczenie).

Problem jest taki. W tle dziala jeden proces do obslugi websocketow i za kazdym requestem coraz bardziej puchnie RAM co pozniej prowadzi do tego ze apka całkiem zamula. Na ten moment nie chcę znaleźć "obejścia" a jakos dowiedziec się co w tym RAM się tak zapycha. Moze polecicie jakieś tajne sztuczki bo mi sie kończą pomysly?
  • 6
wydaje mi się, że problem leży w serwerze którego użyłeś: https://github.com/ratchetphp/Ratchet/issues/662

Polecam zaglądać w zakłądkę issues na githubie, czasem można znaleźć jakieś sensowne rozwiązanie.

Tutaj ludzie sugerują coś takiego: https://github.com/ratchetphp/Ratchet/issues/662#issuecomment-454886034

Osobiście jestem przeciwny takiemu dopisywaniu czegoś do zewnętrznych libek. Innym rozwiązaniem mogłoby być restartowanie tego sewera websocketowego co jakiś czas, albo napisanie czegoś samemu "od zera" np. https://github.com/websockets/ws
@yelm: to widzialem ale niestety to nie dotyczy tej apki. Jest tylko jeden klient frontowy do apki przez co jest tylko jedno polaczenie websocket caly czas.
@Serghio: Apke niestety dostalem w spadku i jest to juz produkcyjna apka i na razie mam zadanie jakos to sprobowac poprawic
@cinek181992: nie w tym rzecz, po prostu nie znam Broadway, a kilka lat temu jak interesowałem się rozwiązaniami typu CQRS w PHP, to wówczas były tylko dwa konkretne rozwiązania godne polecania - jakiś duży projekt - nie pamiętam nazwy, który został porzucony właśnie na rzecz Symfony Messenger, gdzie autor tego dużego projektu stwierdził, że chłopaki od Symfony robią to doskonale, a drugi projekt Broadway - tylko zdaje mi się, że dużo