Leo*_*nti 4 python multithreading load-testing
我想为网页做一个测试加载.我想在多线程的python中做到这一点.第一个POST请求将登录用户(设置cookie).
然后我需要知道有多少用户可以同时执行相同的POST请求.所以我正在考虑生成在循环中发出请求的线程.
我有几个问题:1.是否可以同时运行1000-1500个CPU请求?我的意思是不会让系统变慢,所以它不再可靠了吗?2.带宽限制怎么样?该测试可靠的通道有多好?
承载测试站点的服务器是Amazon EC2脚本将从另一台服务器(Amazon也是如此)运行.
谢谢!
运行多个线程时,cPython不会从多个核心中获益.这意味着,基本上,你只有一个核心在做测试工作.
有专门的工具可以做你想做的事.我建议两点:
FunkLoad是一个功能和负载Web测试程序,用Python编写,其主要用例是:
Tsung是一个开源的多协议分布式负载测试工具
Tsung的目的是模拟用户,以测试基于IP的客户端/服务器应用程序的可伸缩性和性能.您可以使用它来对服务器进行负载和压力测试.许多协议已经实施和测试,并且可以轻松扩展.最近添加了WebDAV,LDAP和MySQL支持(实验性).
它可以分布在多个客户端计算机上,并且能够同时模拟数十万个虚拟用户(如果您有足够的硬件,则可以模拟数百万个...).
如果您决定编写自己的工具,您可能希望使用Python的多处理模块,因为它可以让您使用多个核心.您还应该看看Twisted,因为它可以让您在有限数量的线程中轻松处理多个套接字.这比为每个套接字生成一个新线程要好得多.
您使用Amazon EC2,因此我建议您使用Tsung.您可以租用十几台多核服务器几个小时,并使用Tsung进行一些非常重的负载测试.它在这种配置中非常好地扩展.
至于带宽,它通常不是问题,但它取决于应用程序.在执行负载测试时,您必须密切监视所有资源.
| 归档时间: |
|
| 查看次数: |
7267 次 |
| 最近记录: |