在流量服务器上定时数据包

时间:2015-06-04 14:57:45

标签: python unix networking network-programming server

我有一个代理流量服务器,它是网络上的额外跃点,正在处理大量流量。

我想计算代理服务器处理传入请求,处理它们并将其转发所需的时间(以秒为单位)。

我一直在玩写一个python脚本来执行tcpdump以及一些时间数据包进入服务器的时间,直到他们离开。

我可能要在一段时间内执行tcpdump,然后分析它来计算时间?

这是实现我想要的好方法还是会有更优雅的解决方案?

2 个答案:

答案 0 :(得分:1)

我总是发现利用交换机的“端口镜像”将代理的交换机端口中的所有数据复制到一个连接到专用捕获盒的独立端口更容易,这使得tcpdump可以为您工作。

如果您的交换机具有此功能,则会减少繁忙代理的负载。如果他们不这样做,那么是的,tcpdump完整数据包到文件:“tcpdump -i interface -s 0 -w / path / to / file”。

然后,您可以(在另一台计算机上)将一些代码放在一起检查并报告您想要的任何内容,甚至可以在wireshark中打开它以进行详细分析。

答案 1 :(得分:1)

您有几个选择:

  1. 您可以启用Traffic Server的慢速日志功能,它将为您提供有关时间花费的详细时间信息。此处为6.x添加了新功能,例如新的自定义日志记录标记。
  2. 您可以使用TCP转储(如帖子中所示)。在Circonus的友好的人们做了这个整洁的东西叫做lat sub https://github.com/circonus-labs/latsub。它可能不会直接适用于您(除非您是Circonus的幸运用户),但您可以使用他们的tcpdump过滤器。
  3. 进行UA采样,使用和不使用代理进行测试,并比较结果。