Ad Widget

Collapse

Zabbix proxy over a high latency link

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Petr Sehnal
    Junior Member
    • Nov 2025
    • 3

    #1

    Zabbix proxy over a high latency link

    Hello,
    We are troubleshooting a Zabbix Proxy (v7.4.5, server 7.4.5) located over a high-latency link with approximately 250ms RTT. This proxy shows high Data Sender utilization (17% average, spiking to 80%). We have another proxy with an identical configuration and load that shows Data Sender utilization close to 0.5%, but it has a much lower RTT of 22ms.

    We investigated:
    MTU/Fragmentation, network path is clean (MTU adjusted), and no fragmentation is occurring.
    Batching: The History Cache is consistently near empty. The proxy appears to be in "real-time" streaming mode.
    TCP Overhead: Because data arrives in small increments, the proxy initiates a new TCP session for almost every individual value/small batch. With a 250ms RTT, the ~500ms is required for the TCP handshake and teardown.​

    Is there any way to force a Zabbix 7.x Active Proxy to be less "chatty" and buffer data into larger batches before initiating a connection? Or is this high utilization expected when operating over high-latency links?

    Any best practices for high-latency tuning in Zabbix 7.x would be appreciated.​

    Thank you.
    Petr
  • guntis_liepins
    Member
    • Oct 2025
    • 46

    #2
    you may play with ProxyConfigFrequency and DataSenderFrequency , but you must adjust triggers accordingly.

    Comment

    • Markku
      Senior Member
      Zabbix Certified SpecialistZabbix Certified ProfessionalZabbix Certified Expert
      • Sep 2018
      • 1784

      #3
      Originally posted by Petr Sehnal
      Hello,
      TCP Overhead: Because data arrives in small increments, the proxy initiates a new TCP session for almost every individual value/small batch. With a 250ms RTT, the ~500ms is required for the TCP handshake and teardown.

      Is there any way to force a Zabbix 7.x Active Proxy to be less "chatty" and buffer data into larger batches before initiating a connection? Or is this high utilization expected when operating over high-latency links?

      Any best practices for high-latency tuning in Zabbix 7.x would be appreciated.​

      Thank you.
      Petr
      You are correct that Zabbix components create a separate TCP session for each "thing", so it will take long time to make a connection with such a high latency.

      You can search support.zabbix.com for an existing feature request about that.

      I'm pretty sure I have seen someone make an HTTP proxy for Zabbix protocol (for transporting it over HTTP/S), but I don't recall if it also did connection pooling. If you have a serious business case for improving the protocol, it shouldn't be too hard to build a custom TCP proxy tunneling in both ends of the connection so that the high-latency part of the connection is not closed between the Zabbix component connections.

      Comment

      Working...