Performance
日誌轉發性能和作業系統瓶頸
syslog 伺服器通常可以處理多少日誌/秒?通過 syslog 伺服器,我指的是 rsyslog、syslog-ng、splunk 等。問題的目的是找出作業系統(Linux 核心 >=3.0)成為瓶頸的日誌/秒速率。
到目前為止,我能夠使用 UDP 轉發大約 10,000 條日誌/秒。如果我提高速率,日誌開始被丟棄。我不知道是什麼導致了丟包,是應用程序(它是自定義建構日誌伺服器)還是作業系統?
您能否分享一下您可以傳輸多少日誌/秒而不會看到任何丟包的經驗?
您可以增加核心 UDP 緩衝區,但這並不能解決問題。如果您想可靠地轉發這麼多消息,您應該忘記 UDP syslog 並改用 TCP。在通過 TCP 傳輸 syslog 消息時,我們使用nxlog測量了每秒超過 500k 的事件。
這個問題不能以目前的形式簡單地回答。日誌傳輸速率的上限沒有通用規則。這可以根據幾個因素而有所不同,例如您的網路配置/可靠性(發送者和接收者之間)、機器規格以及它們是否已載入等…
UDP 不是可靠的協議。您可以嘗試使用 TCP,因為它是面向連接的協議,可用於可靠的數據傳輸。它比 UDP 增加了一點成本,但它可能值得嘗試。