2017/11/23 11:58 1/5 10 Tuning wydajności 10 Tuning wydajności Praca w toku. Przegląd Żeby zmaksymalizować wydajność konieczne jest prawidłowe skonfigurowanie systemu Zabbix. Sprzęt Uwagi ogólne do sprzętu: Używać najszybszych dostępnych procesorów SCSI lub SAS są lepsze od IDE (wydajność dysków IDE można znacząco poprawić z użyciem narzędzia hdparm) i SATA 15K RPM jest lepsze niż 10K RPM, które jest lepsze od 7200 RPM Używać szybkich macierzy RAID Używać szybkich adapterów Ethernet Posiadanie większej ilości pamięci zawsze jest lepsze System operacyjny Używać ostatniej (stabilnej!) wersji systemu operacyjnego Wyrzucić niepotrzebne funkcjonalności z jądra Tuningować parametry jądra Parametry konfiguracji Zabbix Wiele z parametrów można tuningować, żeby uzyskać optymalną wydajność. zabbix_server StartPollers Zasada ogólna - wartość tego parametru powinna być najmniejsza jak tylko to możliwe. Każda dodatkowa instancja zabbix_server zwiększa wydajność zabierając zasoby, jednocześnie zwiększa się zrównoleglenie. Optymalna liczba instancji jest wtedy, gdy kolejki, średnio, zawierają najmniejszą liczbę parametrów (idealnie, 0 w dowolnym momencie). Wartość ta może być monitorowana przy pomocy testu wewnętrznego zabbix[queue]. Zobacz rozdział "Zobacz też" na końcu tej strony, żeby dowiedzieć się jak skonfigurować optymalną ilość procesów zabbix.
Last update: 2016/02/15 11:49 pl:manual:appendix:performance_tuning https://www.zabbix.com/documentation/2.2/pl/manual/appendix/performance_tuning DebugLevel Optymalną wartością jest 3. DBSocket Tylko MySQL. Rekomendujemy używanie DBSocket do łączenia się do bazy danych. Jest to najszybsza i najbezpieczniejsza metoda. Silnik bazy danych Jest to najprawdopodobniej najważniejsza część tuningu Zabbix. Zabbix silnie zależy od dostępności i wydajności silnika bazy danych. używać najszybszych silników baz danych, np. MySQL używać stabilnych wydań silników baz danych budować MySQL lub PostgreSQL ze źródeł, żeby uzyskać maksymalną wydajność wykonywać tuning wydajności zgodnie z instrukcjami z dokumentacji MySQL lub PostgreSQL dla MySQL, używać struktury tabel InnoDB ZABBIX pracuje około 1.5 raza szybciej (w porównaniu do MyISAM), gdy używa się InnoDB. Dzieje się tak dzięki zwiększeniu równoległości. Jednakże, InnoDB wymaga większej mocy procesora. zalecamy wykonanie tuningu serwera bazy danych do zwiększenia jej wydajności. trzymać tabele bazy danych na różnych dyskach twardych najczęściej używanymi tabelami są 'history', 'history_str, 'items' 'functions', triggers' i 'trends'. dla dużych instalacji, rekomendujemy trzymanie plików tymczasowych MySQL w tmpfs Rady ogólne monitorować tylko wymagane parametry tuningować 'Interwał aktualizacji' dla każdej pozycji. Utrzymywanie małego interwału aktualizacji może być dobre dla wykresów, jednakże może zabić Zabbix tuningować parametry w szablonach domyślnych tuningować parametry porządkowania nie monitorować parametrów, które zwracają te same wartości. unikać używania wyzwalaczy z długimi okresami jako argumenty funkcji. Na przykład, max(3600) będzie obliczane znacząco wolniej niż max(60). Oglądanie wydajności procesów Zabbix przy pomocy "ps" i "top" Zabbix 2.2 zapoczątkował nową funkcjonalność - procesy zmieniają swoją linię poleceń, wyświetlając aktualną aktywność i znaczące statystyki, np.: UID PID PPID C STIME TTY TIME CMD zabbix22 4584 1 0 14:55? 00:00:00 zabbix_server -c /home/zabbix22/zabbix_server.conf zabbix22 4587 4584 0 14:55? 00:00:00 zabbix_server: configuration https://www.zabbix.com/documentation/2.2/ Printed on 2017/11/23 11:58
2017/11/23 11:58 3/5 10 Tuning wydajności syncer [synced configuration in 0.041169 sec, idle 60 sec] zabbix22 4588 4584 0 14:55? 00:00:00 zabbix_server: db watchdog [synced alerts config in 0.018748 sec, idle 60 sec] zabbix22 4608 4584 0 14:55? 00:00:00 zabbix_server: timer #1 [processed 3 triggers, 0 events in 0.007867 sec, 0 maint.periods in 0.005677 sec, idle 30 sec] zabbix22 4609 4584 0 14:55? 00:00:00 zabbix_server: timer #2 [processed 2 triggers, 0 events in 0.004209 sec, idle 30 sec] zabbix22 4637 4584 0 14:55? 00:00:01 zabbix_server: history syncer #4 [synced 35 items in 0.166198 sec, idle 5 sec] zabbix22 4657 4584 0 14:55? 00:00:00 zabbix_server: vmware collector #1 [updated 0, removed 0 VMware services in 0.000004 sec, idle 5 sec] zabbix22 4670 1 0 14:55? 00:00:00 zabbix_proxy -c /home/zabbix22/zabbix_proxy.conf zabbix22 4673 4670 0 14:55? 00:00:00 zabbix_proxy: configuration syncer [synced config 15251 bytes in 0.111861 sec, idle 60 sec] zabbix22 4674 4670 0 14:55? 00:00:00 zabbix_proxy: heartbeat sender [sending heartbeat message success in 0.013643 sec, idle 30 sec] zabbix22 4688 4670 0 14:55? 00:00:00 zabbix_proxy: icmp pinger #1 [got 1 values in 1.811128 sec, idle 5 sec] zabbix22 4690 4670 0 14:55? 00:00:00 zabbix_proxy: housekeeper [deleted 9870 records in 0.233491 sec, idle 3599 sec] zabbix22 4701 4670 0 14:55? 00:00:08 zabbix_proxy: http poller #2 [got 1 values in 0.024105 sec, idle 1 sec] zabbix22 4707 4670 0 14:55? 00:00:00 zabbix_proxy: history syncer #4 [synced 22 items in 0.008565 sec, idle 5 sec] zabbix22 4738 1 0 14:55? 00:00:00 zabbix_agentd -c /home/zabbix22/zabbix_agentd.conf zabbix22 4739 4738 0 14:55? 00:00:00 zabbix_agentd: collector [idle 1 sec] zabbix22 4740 4738 0 14:55? 00:00:00 zabbix_agentd: listener #1 [waiting for connection] zabbix22 4741 4738 0 14:55? 00:00:00 zabbix_agentd: listener #2 [processing request] Proces główny stanowi wyjątek. Zamiast bieżącej aktywności wyświetlana jest oryginalna linia poleceń. Pomaga to w odróżnieniu procesu na systemach z wieloma instancjami Zabbix. Ta funkcjonalność nie jest dostępna na Microsoft Windows. Jeżeli poziom logowania jest ustawiony na DebugLevel=4 aktywności te oraz komunikaty statystyczne zapisywane są również do pliku logu. Linux Na systemach Linux, do obserwowania jak działa Zabbix można wykorzystać polecenie ps w połączeniu z poleceniem watch. Na przykład, żeby zobaczyć aktywność procesu, można uruchomić polecenie ps 5 razy na sekundę: watch -n 0.2 ps -fu zabbix
Last update: 2016/02/15 11:49 pl:manual:appendix:performance_tuning https://www.zabbix.com/documentation/2.2/pl/manual/appendix/performance_tuning Żeby zobaczyć tylko procesy proxy i agenta Zabbix: watch -tn 0.2 'ps -f -C zabbix_proxy -C zabbix_agentd' Żeby zobaczyć historię procesów synchronizacji: watch -tn 0.2 'ps -fc zabbix_server grep history' Polecenie ps daje na wyjściu długi tekst (około 190 znaków), jako że niektóre komunikaty aktywności są długie. Jeżeli terminal obsługuje mniej niż 190 kolumn tekstu można spróbować watch -tn 0.2 'ps -o cmd -C zabbix_server -C zabbix_proxy -C zabbix_agentd' żeby wyświetlić tylko linie komend bez UID, PID, czasu startu itp. Do obserwacji wydajności Zabbix można używać również polecenia top. Naciśnięcie klawisza 'c' w top pokazuje procesy z ich liniami komend. W naszych testach na Linuxie top i atop prawidłowo wyświetlały zmieniające się aktywności procesów Zabbix, ale htop nie wyświetlał zmian aktywności. BSD systems Jeżeli nie zainstalowano polecenia watch, podobny efekt można uzyskać przy pomocy while [ 1 ]; do ps x; sleep 0.2; clear; done AIX, HP-UX Jeżeli polecenie watch nie jest dostępne, można spróbować while [ 1 ]; do ps -fu zabbix; sleep 1; clear; done Solaris Domyślnie polecenie ps nie wyświetla zmian aktywności. Jedną z opcji jest użycie /usr/ucb/ps. Jeżeli nie zainstalowano polecenia watch, okresową aktualizację listy procesów można wyświetlić przy pomocy while [ 1 ]; do /usr/ucb/ps gxww; sleep 1; clear; done Na Solaris 11: /usr/ucb/ps domyślnie nie jest zainstalowany. Może byćkonieczne zainstalowanie pakietu ucb, np. pkg install compatibility/ucb, jeżeli demon Zabbix zostanie uruchomiony przez użytkownika uprzywilejowanego, jego aktywność nie będzie widoczna dla użytkowników nieuprzywilejowanych. https://www.zabbix.com/documentation/2.2/ Printed on 2017/11/23 11:58
2017/11/23 11:58 5/5 10 Tuning wydajności polecenie sleep dopuszcza nie tylko całe sekundy ale również ułamki sekund (np. sleep 0.2). Zobacz też 1. Jak skonfigurować optymalną ilość procesów zabbix From: https://www.zabbix.com/documentation/2.2/ - Zabbix Documentation 2.2 Permanent link: https://www.zabbix.com/documentation/2.2/pl/manual/appendix/performance_tuning Last update: 2016/02/15 11:49