首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于服务器性能测试的Python脚本

用于服务器性能测试的Python脚本
EN

Stack Overflow用户
提问于 2016-03-03 14:41:20
回答 1查看 2.8K关注 0票数 1

我不想使用任何测试工具..我正在写python脚本,它访问rest api到服务器...我想同时点击500/any_number_of登录/任何api到服务器,这样我就可以检查服务器的性能。

代码语言:javascript
复制
    def login():    
           api = "http://0.0.0.0/api/method/login"
           params = {"usr":"a@a.com","pwd":"password"}
           reponse = requests.post(api,params=params)

    def main():
           for i in range(2):
                for j in range(5):
                        t1 = Thread(target=login(), args=(j,))
                        t2 = Thread(target=get_profile(), args=(j,))
                t1.start()
                t2.start()
     main()

这段代码能工作吗?请建议我怎么做……

EN

回答 1

Stack Overflow用户

发布于 2016-03-03 15:22:33

使用像gevent或asyncio这样的couroutine模块。你可以有很多协程,但是你会受到线程数量的限制。这一限制既来自操作系统允许您的进程拥有的线程数量,也来自线程导致更大的性能影响的事实(每个线程需要自己的堆栈+上下文切换的成本)。

下面是使用gevent实现这一点的方法:

代码语言:javascript
复制
from gevent import monkey monkey.patch_all()
import urllib2
from gevent.pool import Pool

def download(url):
    return urllib2.urlopen(url).read()

if __name__ == '__main__':
    urls = ['http://your_url'] * 100
    pool = Pool(20)
    print pool.map(download, urls)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35764920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档