Kategorie szkoleń | Egzaminy | Kontakt
  • 0
  • 16
  • 13

Na jednym serwerze posiadam odpalony program, gdzie przyjmuje dane po protokole JSON-RPC z wielu innych serwerów i wsadza je do lokalnej bazy danych. Pytanie jakie mi się nasuwa, to ile jednoczesnych połączeń mój skrypt jest w stanie przetworzyć.

Na szkoleniu korzystaliśmy z multiprocessing oraz threading i zastanawiam się, czy aby przetestować swój skrypt, to czy sensowne jest, abym napisał połączenia z protokołem z JSON-RPC wykorzystując multithreading asynchroniczne? Czy wtedy mogę przetestować, czy duże ilość danych jest w stanie mój skrypt przyjąć poprzez ten protokół poprzez jednoczesne odpytania z wielu wątków pracujących asynchronicznie? Czy każdy wątek będzie łączył się po tym protokole, ale nie będzie czekał na zakończenie pracy innych wątków, więc otrzymam wiele jednoczesnych wywołań?

Nasuwa mi się kolejne pytanie czy host protokołu JSON-RPC nie obsługuje jednoczesnych połączeń tylko kolejkuje sobie jego wywoływania? Jeśli kilka klientów będzie próbować połączyć się po tym protokole i wykonać funkcje głównego skryptu, to host zakolejkuje sobie połączenia, więc w tym przypadku przetestowałbym jedynie, jak się skrypt zachowa, gdy ma wiele zakolejkowanych wywołań?

Czy gdybym na jednym hoście uruchomił kilka skryptów (tych samych różniących się jedynie portem) przyjmujących dane po protokole JSON-RPC tylko na innych portach, to czy zwiększy to jego wydajność, ponieważ będzie przyjmował wiele jednoczesnych wywołań?

Paweł_Włodarczyk_bd03
  • Zapytał
  • @ Paweł_Włodarczyk_bd03 | 18.05.2017
    • lider
    • laureat
    • 11
    • 0
    • 8