你如何测试你的缓存层? (无论是 Varnish、Nginx/Apache、FaSTLy 还是任何其他产品/服务)。鉴于缓存很难这一事实,我在 Internet 上发现了关于该主题的少量信息。目前我正在使用 PhpUnit 编写遵循特定场景的“单元”测试:
- 设置初始参数,例如 HTTP header 、cookie、HTTP 引荐来源网址、用户代理,
- 执行(可能是多个)HTTP 请求,
- 检查这些请求的预期结果(HTTP header 、cookie、是否存在某些 HTML 代码),
- 检查预期响应时间,
- 验证执行 HTTP 请求的客户端状态是否与应用程序同步(测试 session 对象内容、数据库等)
我不断向我的测试用例添加新测试,并在每次更改时测试缓存层。
我见过有人使用 varnishtest
来测试 Varnish,但它的功能似乎非常有限(例如,您无法测试后端数据库以确认某些状态已设置)?
您测试缓存层的策略是什么?
最佳答案
我使用 tsung ,它最初是一个分布式负载测试工具,但它可以执行您列出的操作。
Tsung 由 xml 文件引导,这些文件描述了您可以设置初始参数、并行启动多个客户端并检查特定结果的场景。
关于caching - 您如何测试 Varnish 配置或一般的缓存层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33540713/