一些背景...
我目前正在使用 C# 构建一个域名丢弃捕获应用程序。它使用单个 Socket,通过 SslStream 发送数据。我花了数周时间开发该应用程序,我 100% 确信我已经尽一切努力让它尽可能快。我正在针对一些基准进行工作,目前我的目标是 15ms。
我的想法……
因此,我现在正在研究还有什么因素会影响应用程序的速度。它运行在一台高规格的机器上,距离服务器有 3 个跳数。我的想法是,我需要开始查看操作系统的网络设置。
我应该从哪里开始呢......
我正在运行 Windows 2008 标准版。我可以进行哪些调整来开始加速操作系统网络?我无法控制硬件或网络。
有什么建议么?
答案1
你见过微软的Win2008性能调优指南对于开发人员来说?第 11-15 页介绍了网络调优,还有很多其他好东西。
答案2
也许 Windows 机器上有一些防病毒软件正在检查网络流量(并使其变慢)。
答案3
有太多悬而未决的问题无法给出真正有用的答案(如何测量延迟、什么类型的流量、数据包大小、到目标服务器的物理距离、流量性质等)
延迟高于预期的首要原因是你没有关闭 Nagle 算法
另外,使用 iperf 测试源计算机和目标计算机之间的性能(http://openmaniak.com/iperf.php)