簡體   English   中英

如何在 Windows (XP SP3) 上優化 ZeroMQ 性能

[英]How to optimize ZeroMQ Performance On Windows (XP SP3)

我有兩台 Windows XP SP3 機器,我正在嘗試從一台機器向另一台機器發送 3k ZMQ 消息。 這些都是相當現代的系統(帶有 5100 芯片組的雙四核至強和帶有 5500 芯片組的雙六核至強),帶有服務器級英特爾千兆以太網卡。

兩台機器點對點連接,中間沒有交換機或路由器。

使用 pcttcp 進行性能比較,我能夠通過 TCP 從一台機器向另一台機器發送 70MB/s(56% 利用率)。 使用 ZMQ PUSH/PULL,我只能在兩者之間獲得 ~28MB/s。

發送方和接收方在同一台機器上(兩者中速度較慢的機器)我能夠達到 97MB/s 的速率。 (在雙六核中為 220MB/s)

PUSH/PULL 通道在兩端都設置了 HWM。 如果 HWM 大小設置為較低(~150 條消息)而不是較大的值(如 1024),它的性能會稍微好一些。

我嘗試了 6000 字節的巨型幀,但 go 更糟。 (盡管在 72MB/s 下 pcttcp 的表現稍微好一些)

我嘗試將 TcpWindowSize 設置為更大的值,但它似乎也變得更糟。 ZMQ 喜歡較小的尺寸,pcttcp 沒有改變。 TcpWindowSize 現在設置為 32K

其他參數:

  • TcpAckFrequency = 1 // 沒有這個就不行了。
  • Tcp1323Opts = 1
  • 啟用接收方縮放

我應該如何找到瓶頸? 我應該期望通過 TCP 和 ZMQ 性能實現什么? ZeroMQ web 站點性能部分詳細介紹了吞吐量接近 TCP (95%+) 的測試。

任何性能提示/智慧(除了使用 linux,;-))將不勝感激。

謝謝!!!

另一個線索:如果我在兩個系統之間設置多個發送器/接收器對(相同的方向,不同的端口),我能夠實現更高的聚合率。 (三個總共約 42MB/s)

谷歌快速搜索http://comments.gmane.org/gmane.network.zeromq.devel/10089

該線程的核心是 TcpDelAckTicks:[quote]

在將 TcpDelAckTicks 注冊表值設置為在服務器代碼中調用“apr_socket_accept()”的機器后,我的性能得到了巨大的提升(2.4 秒到 0.4 秒)。 客戶端只是發送請求並循環等待響應。 性能沒有變化。

我去那里的原因是因為我正在尋找 MTU 周圍的東西,認為它可能與網絡相關。

然后我找到了這個http://lists.zeromq.org/pipermail/zeromq-dev/2010-November/007814.html ,里面有很多性能調優建議(雖然不是專門針對xp的),這里就不總結了,as這將是幾乎直接的復制和粘貼(不確定我是否可以更簡潔。)

我不確定這是否會有幫助,但您可能沒有發現它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM