Jak przetestować wydajność swojego serwera SMPP
Ozeki SMS Gateway to bardzo szybki system bramki SMS. Może przesyłać do 1000 SMS/sekundę na standardowym serwerze. Ten dokument pokazuje, jak możesz przetestować wydajność SMPP swojego systemu bramki SMS.
Ozeki SMS Gateway zawiera wbudowaną funkcjonalność do testowania wydajności SMS. Możesz użyć tej funkcjonalności, aby przetestować wydajność swojej usługi SMPP. Możesz przetestować wydajność klienta SMPP lub serwera SMPP niezależnie lub możesz skonfigurować system testowy z dwóch komputerów i przetestować całkowitą przepustowość systemu. W tym przewodniku dowiesz się o komponentach testowych, a także przedstawiamy system, który możesz skonfigurować w swojej sieci, aby przetestować wydajność swoich usług.
Jak przetestować wydajność swojego serwera SMPP (Proste instrukcje)
Aby przetestować wydajność swojego serwera SMPP:
- Uruchom Ozeki SMS Gateway
- Dodaj nowego użytkownika Tester
- Skonfiguruj połączenie użytkownika Tester
- Wybierz ikonę Connect na pasku narzędzi
- Zainstaluj połączenie Tester
- Wprowadź nazwę połączenia Tester
- Przejdź do zakładki Test użytkownika Tester
- Wybierz test wydajności
- Sprawdź wydajność serwera SMPP w logach
Architektura systemu testowania prędkości SMPP
System testowy używany do testowania wydajności składa się z dwóch komputerów: Komputer "A" i Komputer "B". Komputer "A" ma zainstalowanego klienta SMPP oraz skonfigurowany komponent użytkownika testera, który pomaga generować wiadomości testowe. Komputer "B" ma skonfigurowany serwer SMPP, który akceptuje połączenie klienta SMPP z Komputera "A". Komputer "B" akceptuje wszystkie wiadomości SMS wysłane przez Komputer "A" i przekazuje je do tzw. połączenia Tester. Połączenie testera pochłania wszystkie wiadomości. Ta architektura jest przedstawiona na Rysunku 1.
Ile kosztuje test wydajności?
Ta konfiguracja testowa nie przekazuje żadnych wiadomości do sieci komórkowej, więc nie musisz martwić się o koszty SMS. Wszystkie wiadomości pozostają w systemie. Wiadomości testowe są tworzone na Komputerze "A", przesyłane przez Twoją sieć komputerową do Komputera "B", gdzie są "zjadane" przez "połączenie Tester".
Jakiego sprzętu powinienem użyć?
Możesz użyć dowolnego sprzętu komputerowego, który jest w stanie uruchomić Windows lub Linux i
spełnia wymagania systemowe bramki SMS. Pamiętaj, że
wydajność Twojego systemu w dużym stopniu zależy od konfiguracji sprzętowej. W
przeprowadzonych testach użyliśmy następującej konfiguracji:
Komputer A:
CPU: Intel(R) Core(TM) i7-9700K CPU@3.60 GHz
RAM: Corsair Vengeance 64 GB (2x32GB) 3200Mhz DDR4
HDD: Samsung 970 EVO Plus 1TB NMe M.2(2280) Solid State Drive (SSD)
Płyta główna: ASUS Prime Z390M-Plus LGA1151 Gen2
OS: Windows 10 Professional
Oprogramowanie: Ozeki 10 SMS Gateway v10.3.100
Komputer B:
CPU: Intel(R) Core(TM) i7-9700K CPU@3.60 GHz
RAM: Corsair Vengeance 64 GB (2x32GB) 3200Mhz DDR4
HDD: Samsung 970 EVO Plus 1TB NMe M.2(2280) Solid State Drive (SSD)
Płyta główna: ASUS Prime Z390M-Plus LGA1151 Gen2
OS: Windows 10 Professional
Oprogramowanie: Ozeki 10 SMS Gateway v10.3.100
Sieć: Łącze Ethernet 1Gbps przez przełącznik HP
Ta konfiguracja była w stanie dostarczyć 1000 wiadomości SMS na sekundę. Dostarczyła 1 000 000 wiadomości SMS z komputera A do komputera B w mniej niż 16 minut.
Konfiguracja Komputera "B"
Kiedy zaczynasz konfigurować system, dobrym pomysłem jest rozpoczęcie od konfiguracji komputera "B". Powodem jest to, że ten komputer zapewnia funkcjonalność serwera SMPP, i lepiej jest najpierw utworzyć konto użytkownika SMPP i później skonfigurować klienta na Komputerze "A" do użycia tego konta użytkownika.
Pierwsze wideo pokazuje kroki, które należy podjąć, aby skonfigurować komputer "B". Wideo zaczyna się od domyślnej instalacji. Aby zainstalować system, postępuj zgodnie z instrukcjami w przewodniku instalacji Ozeki SMS Gateway. Po zainstalowaniu systemu należy skonfigurować połączenie testera i użytkownika SMPP do akceptowania przychodzących połączeń klientów SMPP. Instalując użytkownika SMPP, Ozeki 10 SMS Gateway automatycznie włącza i konfiguruje wbudowany serwer SMPP. Ten serwer SMPP będzie nasłuchiwał na porcie 9550. Pamiętaj, że podczas konfiguracji użytkownika SMPP podaliśmy nazwę użytkownika i hasło. Użyliśmy smp1 jako nazwy użytkownika i qwe123 jako hasła. Te dane będą również używane na Komputerze "A" do konfiguracji klienta SMPP.
Konfiguracja komputera "A"
Drugie wideo pokazuje kroki niezbędne do skonfigurowania komputera "A". Podczas konfiguracji najpierw tworzymy połączenie klienta SMPP. Podczas konfiguracji klienta SMPP podajemy adres IP komputera "B", wraz z nazwą użytkownika SMPP i hasłem SMPP. Należy zauważyć, że używamy tych samych danych uwierzytelniających (smp1, qwe123), które skonfigurowaliśmy na komputerze "B" podczas tworzenia konta użytkownika SMPP.
Po utworzeniu połączenia klienta SMPP konfigurujemy użytkownika testowego. Użytkownik testowy to wbudowana funkcjonalność testowa, która może być używana do wysyłania testowych wiadomości SMS przez system. Możesz generować i wysyłać duże ilości wiadomości jednym kliknięciem. Każda wiadomość będzie miała swój unikalny numer telefonu i unikalny tekst, aby symulować warunki rzeczywiste. Po skonfigurowaniu użytkownika testowego możesz przystąpić do testu.
Należy pamiętać, że zakładamy, że zapora ogniowa na komputerze "A" pozwoli na przychodzące połączenia SMPP (TCP/IP) na porcie 9550. Jeśli jeszcze tego nie skonfigurowałeś w swojej zaporze, szczegółowe instrukcje dotyczące konfiguracji zapory znajdziesz na stronie jak skonfigurować zaporę ogniową dla serwera SMPP.
Aby przetestować wydajność systemu, musisz wygenerować wiele wiadomości SMS. Można to zrobić za pomocą użytkownika testowego. Aby zainstalować użytkownika testowego, kliknij przycisk Aplikacje na pasku narzędzi, a następnie, jak pokazano na kolejnym rysunku, przewiń w dół do sekcji Testowanie i kliknij przycisk Instaluj w polu Połączenie użytkownika testowego. (Rysunek 2)
Przed utworzeniem użytkownika testowego pojawi się formularz konfiguracyjny. To połączenie nie wymaga dodatkowej konfiguracji, wystarczy podać nazwę dla połączenia. (Rysunek 3) Jeśli to zrobisz, kliknij OK, aby utworzyć użytkownika testowego.
Kluczem do stworzenia systemu testowego jest instalacja połączenia dostawcy usług testowych. To połączenie będzie używane jako testowy dostawca usług, do którego łączy się połączenie użytkownika testowego. Aby utworzyć to połączenie, wybierz menu Połącz z paska narzędzi, a następnie z sekcji Połączenia do testowania. Aby zainstalować to połączenie, musisz wybrać je z listy dostawców usług i kliknąć przycisk Instaluj. (Rysunek 4)
Po kliknięciu Instaluj będziesz musiał podać nazwę dla tego połączenia testowego, a na karcie Zaawansowane możesz dokonać dalszej konfiguracji, takiej jak ustawienie poziomu logowania lub włączenie raportów dostarczenia. (Rysunek 5)
Przeprowadzanie testu
Podczas testu wysłaliśmy 1 000 000 wiadomości SMS z komputera "A" do komputera "B". To zdarzenie zostało zarejestrowane na obu komputerach. Należy zauważyć, że podczas testu na obu komputerach trwało nagrywanie wideo, co miało pewien wpływ na wydajność. Poniżej możesz zobaczyć niedostosowane filmy pokazujące przepustowość wiadomości na komputerze "A" i komputerze "B". Warto wspomnieć, że zobaczysz etykiety pomiaru prędkości publikujące prędkość w czasie rzeczywistym dla różnych komponentów. Zobaczysz, że prędkość wynosiła około 1500 wiadomości SMS na sekundę. Oznacza to, że przesłanie 1 000 000 wiadomości SMS z komputera "A" do komputera "B" przez łącze SMPP zajmuje około 10-11 minut.
W tym momencie zainstalowałeś oba wymagane połączenia testowe, a twój system jest gotowy do testów. W tym celu najpierw otwórz połączenie użytkownika testowego w głównym menu SMS Gateway. Tutaj, na karcie Test połączenia, możesz wybrać liczbę wiadomości, które test ma wysłać. Pozwala to na przetestowanie systemu za pomocą jednej wiadomości lub wysłanie 100 000 wiadomości naraz. Tak więc, jak widać na Rysunku 6, wybierz test z 100 000 wiadomości, klikając przycisk 'Wyślij test (100 000)'.
Wyślij 1 000 000 SMS: Widok komputera "A"
Na komputerze "A" wiadomości były wysyłane od użytkownika testera do klienta SMPP przez tabelę routingu, a następnie do sieci. Podczas tego procesu zobaczysz, że prędkość wynosiła około 1500 MPS. Ważne jest, że ta prędkość była utrzymywana przez cały test. Na filmie zobaczysz, że najpierw 1 000 000 wiadomości zostało dodanych do Skrzynki nadawczej systemu i były wysyłane w miarę dostępności miejsca. Możesz zauważyć, że liczba wiadomości w Skrzynce nadawczej była podzielona na dwa składniki. Widzisz czarną liczbę i czerwoną liczbę. Czerwona liczba obok etykiety Skrzynki nadawczej pokazuje, że niektóre wiadomości zostały dodane do tzw. "skrzynki nadawczej przyszłych dostaw". Jest to wymagane, aby utrzymać domyślny rozmiar skrzynki nadawczej (oznaczony czarną liczbą) poniżej 50000, aby zapewnić wysoką wydajność. Podstawowa idea tego podziału polega na tym, że praca z mniejszymi rozmiarami danych jest szybsza. Zobaczysz również, że gdy wiadomości były przenoszone ze standardowej skrzynki nadawczej, skrzynka nadawcza przyszłych dostaw była opróżniana partiami po 10000 wiadomości.
Wyślij 1 000 000 SMS: Widok komputera "B"
Na komputerze "B" wiadomości trafiały na konto użytkownika SMPP. Następnie przechodziły przez tabelę routingu i docierały do połączenia testera SMPP. Zauważysz, że wszystkie komponenty działały z utrzymywaną prędkością około 1500 MPS. Pokazujemy również wartość licznika na końcu testu. Zobaczysz, że liczba ta wynosi 1000021 wiadomości. Ta liczba odpowiada liczbie, którą widziałeś na licznikach komputera "A". Oznacza to, że w rzeczywistości podczas testu wysłano 1 000 021 wiadomości. Dodatkowe 21 wiadomości nie jest błędem. Niosą one metainformacje o teście i pomagają developerom Ozeki lepiej zrozumieć przepływ wiadomości. Możesz je po prostu zignorować.
Jak mogę zweryfikować wyniki testu (użyj plików dziennika)
Powyższy test został przeprowadzony bez włączonego logowania. Logowanie wymaga operacji we/wy na dysku, co oznacza, że komputer musi robić więcej rzeczy jednocześnie. Przy włączonym logowaniu przepustowość SMS nieco spada, ale aby zweryfikować nasze wyniki testu, być pewnym, że wszystkie 1 000 000 SMS zostały wysłane z komputera "A" do komputera "B", musimy włączyć logowanie.
Najlepszym miejscem do włączenia logowania jest użytkownik SMPP na komputerze "B". W tym momencie możemy rejestrować transakcje SMPP dla wszystkich przychodzących wiadomości SMS. W poniższym filmie nisko poziomowe logowanie SMPP jest włączone dla użytkownika SMPP. Oznacza to, że każdy PDU SMPP jest zapisywany do pliku tekstowego podczas testu. Po włączeniu logowania wysłaliśmy partię 100 000 wiadomości SMS do systemu. Zauważysz, że prędkość spadła do około 1300 MPS z włączonym logowaniem. Jeśli obejrzysz film, zobaczysz, że z włączonym logowaniem możesz monitorować komunikację SMPP w czasie rzeczywistym na GUI. Na końcu filmu zobaczysz, że około 76 MB danych dziennika zostało zapisanych na dysk. 100 000 SMS wygenerowało 76 MB dziennika gdy włączyliśmy logowanie SMPP. Czytając dziennik w notatniku możesz zweryfikować, że wszystkie 100 000 wiadomości SMS zostały odebrane. Jeśli nie potrzebujesz szczegółowego dziennika każdej transakcji SMPP, zalecamy wyłączenie niskopoziomowego logowania, aby zaoszczędzić zasoby.
Przeprowadzenie testu wydajnościowego z raportami dostawy
Infrastruktura SMS oferuje raporty dostawy, które są potwierdzeniami zwracanymi do użytkownika, gdy SMS dociera do odbiorcy. Raporty dostawy są przenoszone jako standardowe wiadomości SMS w sieci komórkowej. Jeśli zostanie zażądany raport dostawy, tzw. SMS raportu dostawy jest zwracany do nadawcy, gdy SMS dociera do odbiorcy. Oznacza to, że każdy wychodzący SMS generuje przychodzący SMS. Jeśli wymagasz raportów dostawy, potrzebujesz podwójnej przepustowości od swojej bramki SMS.
Jedną z dobrych rzeczy dotyczących raportów dostawy jest to, że podróżują w przeciwnym kierunku, więc prędkość sieci nie jest zmniejszona o połowę, gdy raporty dostawy są włączone.
W ostatnim teście włączyliśmy symulację raportów dostawy w połączeniu testera na komputerze "B" i włączyliśmy żądania raportów dostawy w użytkowniku testera na komputerze "A". Ta konfiguracja pozwala nam przetestować wydajność Ozeki 10 SMS Gateway z włączonymi raportami dostawy.
Konfiguracja komputera "A" dla raportów dostawy
Aby skonfigurować komputer "A" do żądania raportów dostawy dla każdego testowego SMS, musisz otworzyć zakładkę Zaawansowane w formularzu konfiguracyjnym użytkownika testera. W zakładce Zaawansowane otwórz grupę Raporty dostawy i zaznacz pole wyboru "Żądaj raportów dostawy".
Konfiguracja komputera "B" dla raportów dostawy
Aby skonfigurować komputer "B", należy wykonać dwie czynności. Najpierw należy włączyć symulację raportów dostawy w połączeniu testera. Można to zrobić, otwierając formularz konfiguracyjny połączenia testera. Na tym formularzu wybierz zakładkę Zaawansowane, otwórz grupę Raporty dostawy i zaznacz pole wyboru "Zwracaj raporty dostawy".
Następnym krokiem jest skonfigurowanie obsługi raportów dostawy w ustawieniach użytkownika SMPP. Aby to zrobić, otwórz formularz konfiguracyjny użytkownika SMPP i upewnij się, że zasady czyszczenia są ustawione na "Czyszczenie przy raportach dostawy", a zasady raportów dostawy są ustawione na "Żądaj, jeśli zapytano w wiadomości". Ustawienie czyszczenia oznacza, że wiadomości SMS wysłane przez klienta SMPP pozostaną w folderze wysłanych aż nadejdzie pasujący raport dostawy. Pozwala to systemowi na dopasowanie przychodzących raportów dostawy do wcześniej wysłanych wiadomości. Jest to wymagane, aby prawidłowo powiadomić połączenie klienta SMPP odpowiednimi referencjami wiadomości, gdy raport dostawy zostanie do nich zwrócony poprzez łącze SMPP.
Przeprowadzanie testu wydajności z raportami dostawy SMS
W przeprowadzonym teście wydajności włączyliśmy niskopoziomowe logowanie SMPP i dopasowywanie raportów dostawy. Zauważysz, że prędkość początkowo skacze w górę, ponieważ teraz używamy transportu dwukierunkowego. Wiadomości mogą przemieszczać się w obu kierunkach z szybkością oferowaną przez implementacje protokołu i sieć. Po pewnym czasie prędkość spada do około 1000 SMS na sekundę w obu kierunkach. Prędkość fluktuuje, ponieważ raporty dostawy nie są generowane równomiernie, aby symulować warunki rzeczywiste. W rzeczywistości niektóre raporty dostawy przychodzą znacznie później. (Na przykład, jeśli telefon komórkowy jest wyłączony i włączony kilka dni później, raport dostawy może przyjść kilka dni po wysłaniu oryginalnej wiadomości.)
Możesz również zauważyć, że dziennik komunikacji SMPP jest aktualizowany w czasie rzeczywistym na interfejsie graficznym, co pochłania część przepustowości. W rzeczywistym systemie prawdopodobnie będziesz miał ten dziennik wyłączony.
Warto również zwrócić uwagę na licznik. Zobaczysz dwie rosnące liczby zamiast jednej. Dzieje się tak, ponieważ teraz mamy zarówno wychodzące wiadomości SMS, jak i przychodzące raporty dostawy. Zobaczysz również wzrost rozmiaru kolejki skrzynki odbiorczej. Tam przechowywane są raporty dostawy, aż będą mogły zostać przesłane przez łącze klienta SMPP.
Pod sam koniec testu zauważysz spadek prędkości. Dzieje się tak, ponieważ w tej fazie nie ma przychodzących wiadomości do przetworzenia, a liczba raportów dostawy do zwrócenia jest niższa niż pojemność systemu. Gdyby było więcej wiadomości, prędkość ponownie by wzrosła.
Podsumowanie
Możemy śmiało stwierdzić, że brama SMS Ozeki 10 jest w stanie dostarczać wiadomości SMS przez SMPP z prędkością 1000 wiadomości SMS na sekundę przez sieć. To oprogramowanie jest jednym z najszybszych (jeśli nie najszybszym) w swojej kategorii rynkowej. Będzie ci trudno znaleźć coś lepszego.
More information