流量服务器上的定时包
Timing packets on a traffic server
我有一个代理流量服务器,它是网络上的一个额外跃点,正在处理大量流量。
我想计算代理服务器处理传入请求、处理它们并转发它所花费的时间的成本(以秒为单位)。
我一直在玩写一个 python 脚本来执行 tcpdump 和一些如何计时数据包进入服务器直到它们离开。
我可能需要执行 tcpdump 一段时间,然后分析它来计算时间?
这是实现我想要的效果的好方法还是会有更优雅的解决方案?
我总是发现使用交换机的 'port mirror' 将所有数据复制进出代理的交换机端口到连接到专用捕获盒的单独端口更容易,tcpdump 为您工作。
如果您的交换机具有此功能,它可以减少繁忙代理的负载。如果他们不这样做,那么是的,tcpdump 完整的数据包到一个文件:"tcpdump -i interface -s 0 -w /path/to/file".
然后您可以(在另一台机器上)拼凑一些代码来检查和报告您想要的任何内容,甚至可以在 wireshark 中打开它进行详细分析。
您有几个选择:
- 您可以启用 Traffic Server 的慢日志功能,这将为您提供有关时间花费的详细计时信息。这里为 6.x 添加了新功能,例如新的自定义日志记录标签。
- 您可以使用 TCP 转储(如 post 中所示)。 Circonus 的友好人员制作了这个名为 lat sub 的整洁东西,https://github.com/circonus-labs/latsub。它可能不会直接适用于您(除非您是幸运的 Circonus 用户),但您可以使用他们的 tcpdump 过滤器。
- 进行 UA 采样,使用代理和不使用代理进行测试,并比较结果。
我有一个代理流量服务器,它是网络上的一个额外跃点,正在处理大量流量。
我想计算代理服务器处理传入请求、处理它们并转发它所花费的时间的成本(以秒为单位)。
我一直在玩写一个 python 脚本来执行 tcpdump 和一些如何计时数据包进入服务器直到它们离开。
我可能需要执行 tcpdump 一段时间,然后分析它来计算时间?
这是实现我想要的效果的好方法还是会有更优雅的解决方案?
我总是发现使用交换机的 'port mirror' 将所有数据复制进出代理的交换机端口到连接到专用捕获盒的单独端口更容易,tcpdump 为您工作。
如果您的交换机具有此功能,它可以减少繁忙代理的负载。如果他们不这样做,那么是的,tcpdump 完整的数据包到一个文件:"tcpdump -i interface -s 0 -w /path/to/file".
然后您可以(在另一台机器上)拼凑一些代码来检查和报告您想要的任何内容,甚至可以在 wireshark 中打开它进行详细分析。
您有几个选择:
- 您可以启用 Traffic Server 的慢日志功能,这将为您提供有关时间花费的详细计时信息。这里为 6.x 添加了新功能,例如新的自定义日志记录标签。
- 您可以使用 TCP 转储(如 post 中所示)。 Circonus 的友好人员制作了这个名为 lat sub 的整洁东西,https://github.com/circonus-labs/latsub。它可能不会直接适用于您(除非您是幸运的 Circonus 用户),但您可以使用他们的 tcpdump 过滤器。
- 进行 UA 采样,使用代理和不使用代理进行测试,并比较结果。