Ad Widget

Collapse

Proxy to Server throughput

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Serg10
    Junior Member
    • Jun 2014
    • 2

    #1

    Proxy to Server throughput

    Hello,

    We have installed a new Zabbix 2.2.1 configuration with 3 proxies. Due to some Zabbix Server unavailability, proxy throughput and server performance, one proxy is late by more than 2 days now.

    We have set DebugLevel=4 on both sides. On the proxy side, we can see the following exchanges between the proxy and the server :

    Code:
    $ cat /opt/zabbix_proxy/log/zabbix_proxy.log |awk '/In send_data_to_server/ {LAST = $0} /history data/ {print LAST, $0 ; LAST = ""} /[0-9] zbx_recv_response/ {LAST = $0} /zbx_send_response/ {LAST = ""} /processed:/ {if (LAST != "") print LAST, $0; LAST=""}'
    ...
       702:20140619:111242.491 In send_data_to_server() [{  "request":"history data",
       702:20140619:111247.455 zbx_recv_response() '{       "info":"processed: 685; failed: 0; total: 685; seconds spent: 4.953731"}'
       702:20140619:111248.509 In send_data_to_server() [{  "request":"history data",
       702:20140619:111253.232 zbx_recv_response() '{       "info":"processed: 627; failed: 0; total: 627; seconds spent: 4.714142"}'
       702:20140619:111254.269 In send_data_to_server() [{  "request":"history data",
       702:20140619:111258.844 zbx_recv_response() '{       "info":"processed: 628; failed: 0; total: 628; seconds spent: 4.563365"}'
       702:20140619:111259.987 In send_data_to_server() [{  "request":"history data",
       702:20140619:111305.613 zbx_recv_response() '{       "info":"processed: 696; failed: 0; total: 696; seconds spent: 5.614936"}'
       702:20140619:111306.665 In send_data_to_server() [{  "request":"history data",
       702:20140619:111310.407 zbx_recv_response() '{       "info":"processed: 714; failed: 0; total: 714; seconds spent: 3.730390"}'
    ...
    The "seconds spent" are spent on the server side which means that it is the server which does the job (recv_proxyhistory, process_hist_data, process_mass_data, ...) and controls the throughput. Unfortunately there seems to have only one data sender per proxy which limits the proxy throughput. Is there any way to increase the number of data sender on the proxy side ?

    In the previous sample, we seldom see "processed: 1000" which should be the case here as we have ~20 million items late... Which also means that we have the one second sleep penality between two send_data_to_server which also limits the throughput... What can explain why the "select id,itemid,clock,ns,timestamp,source,severity,value ,logeventid,state from proxy_history where id>nnn order by id limit 1000" and post processing does not select/send 1000 items at once ?

    Regards,
    Serge
Working...