🔗 性能测量包
- 目标:提供一个脚本和数据包,用于在 Squid 上生成和运行一系列流量吞吐量测试。
- 状态:概念设计。尚未开始。
- 预计完成时间:未知。
- 开发者:AmosJeffries
🔗 详细信息
目前这只是一个草稿构思。尚未与任何人讨论和核实。
所以,我想到的一些初步想法是。我们需要:
- 一个流量模拟器,流量范围从几百 MB 到 TB。
- 一个能够将此流量运行通过 Squid 的工具。
- 一个用于测量我们进行基准测试的各种指标的工具。
模拟不能完全随机。它需要在请求/回复大小和头复杂度上固定,以便对具有实时流量的 Squid 进行一些真实的衡量。
有些方面可以随机化
- 正文数据。我们只需要特定大小的正文数据。这意味着我们在创建基准数据集时需要知道实际大小,但在基准套件设置期间可以随机生成新的正文。这节省了大量传输带宽,同时保护了隐私/版权/安全问题。
- Header URL 长度。我们需要尽可能使 URL 长度保持真实。但根据其性质,我们将不得不将 URL 格式化为我们的基准测试服务器可以使用的格式,以便提供正确的回复。它们可以向上填充垃圾信息,直到达到所需长度。这将清除任何原始跟踪信息,并保护隐私/版权/安全问题。即使某些 URL 会比它们原始的真实版本更长。
- Cookie 等。这些可以用一些随机信息替换。只需要保持标头格式可解析。
🔗 数据集
为了开始,我认为我们需要使用实时数据。这意味着我们需要找到一个 ISP,能够提供至少 1 TB 的顺序 HTTP 请求+回复的完整数据,以用于创建基准数据集。
数据在捕获时需要是完整的,但我们的生成过程可以在数据发布到任何地方之前执行上述的混淆方法。如果存在任何隐私问题,以下所有操作很可能在信息离开 ISP 之前就可以完成。
处理后,数据集应包含:
- 一个脚本或文件,按顺序列出客户端请求。
- 一个列出回复对象和大小的脚本。标头需要与基准包一起打包,正文可以在设置时从该文件中生成。
- 请求和回复标头的目录结构。
🔗 脚本
🔗 设置
一个用于设置基准环境、生成数据集对象等的脚本。一旦定义了数据集和实际的基准测试脚本,这应该非常简单。
🔗 测量
我们已经有很多测量指标了
- 每秒请求数
- 每秒字节数
- 不同大小数据集的总运行时间
- 从开始到第一个服务器对象的时间
- 数据集结束后关闭的时间
- 各种每个对象的计时测量(对象大小的变体)。
- 其他??
其中大部分已经可以通过 Squid cachemgr 报告获得。添加一个提议的基准测试页面将大大提高结果的准确性。但需要兼容旧版 Squid 以进行比较。
🔗 客户端/服务器模拟器
显然需要一个客户端进程和一个服务器进程。我有点假设已经存在足够快的软件,可以超越 Squid 即使在我们做出任何改进之后。
请提供建议?
分类: WantedFeature
导航:站点搜索,站点页面,类别,🔼 向上