![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 283 Pomógł: 34 Dołączył: 21.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam stronę, która w krótkim czasie jest odwiedzana przez 2500 osób, dla każdej z tych osób odpala się ajax co 5 sekund (celem aktualizacji wyświetlanych danych),
co sprawia, że zużycie 4 rdzeni na VPS jest na dość wysokim poziomie. Chciałbym zmniejszyć zużycie CPU przez zastosowanie zamiast ajaxa socket.io po stronie front-endu oraz nodejs po stronie back-endu, po środku by był elephant.io - schemat działania byłby następujący: użytkownik po przez php (elephant.io) wysyłał by wiadomość do serwera (nodejs), a ten z kolei rozsyłał by wiadomość ze zmianą do wszystkich połączych przez sockety. Czy jest ktoś mi w stanie powiedzieć jaki jestem w stanie uzyskać skok w wydajności stosując takie rozwiązanie zamiast ajaxa? (procentowo, liczbowo, whatever) Ten post edytował nmts 7.04.2015, 01:08:20 -------------------- Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie będziesz wysyłać za dużo emitów na sekundę, bo przecież możesz robić broadcast do wszystkich klientów, co jest w sumie jednym emitem. kwestia tego ile tych emitów będziesz robić od klientów; to widziałem gdzieś konfiguracje jak upchnąć milion aktywnych połączeń na 16gb ram. Nie bardzo rozumiem po co ci elephant.io, skoro dostęp do soketów masz już po stronie frontendu..
I tak, sokety będą wydajniejsze od xhr'a, który będzie za każdym razem tworzyć nowe połączenie, zupełnie inaczej niż sokety, które będą to połączenie utrzymywać. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 283 Pomógł: 34 Dołączył: 21.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie będziesz wysyłać za dużo emitów na sekundę, bo przecież możesz robić broadcast do wszystkich klientów, co jest w sumie jednym emitem. kwestia tego ile tych emitów będziesz robić od klientów; to widziałem gdzieś konfiguracje jak upchnąć milion aktywnych połączeń na 16gb ram. Nie bardzo rozumiem po co ci elephant.io, skoro dostęp do soketów masz już po stronie frontendu.. I tak, sokety będą wydajniejsze od xhr'a, który będzie za każdym razem tworzyć nowe połączenie, zupełnie inaczej niż sokety, które będą to połączenie utrzymywać. No właśnie broadcast do wszystkich byłby najsensowniejszy. Emitów będzie tyle ile osób, które odwiedza stronę czyli np. 2500 jak w przykładzie, bo każda wchodząc może zmienić jednorazowo dane. Elephant.io chciałem użyć ponieważ wtedy całość ogranicza się jedynie do wysłania emita do serwera w odpowiednim momencie, gdybym robił to po stronie front-endu to musiałbym rozbudować kod po stronie nodejs celem walidacji danych i uzupełniania danych w bazie - a ponieważ nie znam się na nodejs dlatego chciałem to maksymalnie uprościć. Na razie nie mam do tego głowy, dałem ogłoszenie na freelancerach, może ktoś mi to ogarnie. ![]() -------------------- Free Web Tools - narzędzia dla programistów, webdeveloperów i specjalistów seo...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.08.2025 - 01:58 |