首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何临时缓冲延迟敏感型HFT应用的传入网络流量?

如何临时缓冲延迟敏感型HFT应用的传入网络流量?
EN

Stack Overflow用户
提问于 2014-12-24 02:33:37
回答 3查看 276关注 0票数 0

我们正在运行一个基于Java的交易应用程序,并且在某些时间段,我们希望在大约10毫秒内尽可能优先处理传出的网络流量。有没有办法在短时间内临时缓冲所有传入的网络流量,无论是在网卡上,还是通过我们的Redhat Linux机器上的进程或缓冲区?

这背后的理由是,传入的网络流量在同一时间段内达到峰值,处理这些流量的应用程序正在从我们试图确定优先级的进程中窃取CPU周期。我们无法对处理传入网络流量的应用程序进行细粒度控制。

我们使用的是1Gbps的连接,所以1MB的缓冲区应该足够了。我们不希望丢弃传入流量并请求重新传输,因为这会在相当繁忙的时段增加网络负载。

EN

回答 3

Stack Overflow用户

发布于 2015-01-08 08:10:20

可以在路由器上使用Qos,或通过以下示例配置使用trickle来控制带宽:

代码语言:javascript
复制
   /etc/trickled.conf.

参见url中的示例。

票数 2
EN

Stack Overflow用户

发布于 2015-01-09 02:44:18

我不确定我是否正确地理解了你的问题。您需要考虑的是,有时您需要优先处理输出网络流量,此时传入流量将不断增加,最终可能会导致数据包丢失或重新传输,这是您不想要的。因此,您需要缓冲传入的流量。

如果我的理解是正确的,并且您正在使用TCP,请尝试使您的tcp缓冲区更大。http://kaivanov.blogspot.com/2010/09/linux-tcp-tuning.html,然后使用netstat检查您的更改是否有效。

票数 0
EN

Stack Overflow用户

发布于 2015-01-12 08:16:52

Adrian,您是否尝试过将传出通信进程的优先级设置为高于接收传入数据的进程的优先级?使用nice命令可以实现这一点。请注意,在Unix/Linux中,数字越小,优先级越高。

否则,如果不在发送/接收的两个应用程序之间建立直接联系,我就不确定这是可能的,这允许您有效地忽略准备读取的传入连接,直到您的任何数据发送出去。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27626108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档