我希望在我的网站上进行性能测试,模拟数千个用户并找到每个服务器的容量限制。我使用的工具是jmeter,我为测试场景准备了.jmx。但是当我尝试同时模拟 1000 个用户时,我开始得到:
<httpSample t="0" lt="0" ts="1338538936990" s="false" lb="VerifyPassword" rc="Non HTTP response code: java.net.SocketException" rm="Non HTTP response message: Too many open files" tn="LoadConfig 1-901" dt="text" by="1375"/>
我认为错误是在客户端,因为套接字连接太多。如果是这样,我如何从本地计算机模拟这种情况?我可以增加 Linux 上打开的套接字数量吗?
还有一件事是,我发现从单个客户端进行测试可能会发出错误警报,其中客户端是瓶颈,而服务器工作正常。如何进行性能测试以模拟现实生活场景,让 10K 以上的用户每个人都有自己的 CPU/RAM,然后进行性能测试?
最佳答案
我已经从 .NET 运行了 JMeter,但我认为您的情况也是如此。
您无法增加套接字数量。 您应该进行分布式负载测试。 幸运的是,Jmeter 有这个能力:)
您应该查找的 Google 术语是分布式 JMeter 测试或远程 JMeter 测试。如果碰巧您只能使用本地计算机,您可能会使用虚拟机创建多个 JMeter 分布式实例...
关于linux - 性能/负载测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10846976/