1

我在 C 中使用阻塞 TCP 套接字,我想在有许多同时连接时模拟服务器上的高负载,然后我想测量在这个高负载时间内通过浏览器访问服务器所需的时间(服务器理解 HTTP 标头)。此外,每个客户端请求都快速结束(发送 HTTP 标头 - 获取文本)。

我该怎么做(不让我的本地机器崩溃->我尝试使用 fork 来制作许多客户端;另外,我也有一个虚拟机)。如果有人对如何做到这一点有一个想法或一些一般性的指导,那将意味着很多。

编辑:我需要用我自己的客户端运行它,它使用 OpenSSL 库的修改版本连接到我的 SSL/TLS 服务器,所以我不能使用外部测试工具。

我想知道如何构建客户端和服务器。除了阻塞套接字,我对其他套接字知之甚少,我只是浏览了 Richard Stevens 的 UNIX Network Programming 一书,但我想知道是否有人能指出确切的解决方案。

谢谢 !

4

1 回答 1

1

最简单的解决方案是下载现有的压力测试框架,例如 fwptt ( http://fwptt.sourceforge.net/ )。

如果您想实现自己的压力测试框架,我建议您放弃代码的阻塞特性,并采用可以很好地扩展的并行设计。那么限制因素几乎就是你的CPU。

拥有两台物理服务器是理想的,这样您的压力测试就不会影响服务器的 CPU(以及响应时间)。此外,您的 VM 也会消耗宝贵的 CPU 时间。

于 2011-06-16T11:08:55.713 回答