我的朋友通过node.js写了一个网站,我想帮他做压力测试,以防有一天崩溃。我用beautifulsoup来测试它,它进展顺利。
代码:
for i in range(0,1000):
#i=i+1
l=randint(2008, 2018)
first="year=%d" %l
k=randint(1600, 2400)
second="cc=%d" %k
url="http://xx.xxx.xxx.xxx:xxxx/outputData?{0}&{1}&submit=Submit".format(first,second)
res = requests.get(url)
soup=BeautifulSoup(res.text,'lxml')
print(soup)
如果我想通过使用python同时使用1000个代码同时运行它,有没有其他方法来测试它,而不是按顺序逐个运行1000次?谢谢!
答案 0 :(得分:2)
您可以使用threading
执行此操作。但我不建议创建1000个线程并同时运行它。
import threading
def testit():
l=randint(2008, 2018)
first="year=%d" %l
k=randint(1600, 2400)
second="cc=%d" %k
url="http://xx.xxx.xxx.xxx:xxxx/outputData?{0}&{1}&submit=Submit".format(first,second)
res = requests.get(url)
soup=BeautifulSoup(res.text,'lxml')
print(soup)
threads = [threading.Thread(target=testit) for i in range(1000)] # Not recommend to use 1000 here
for t in thread:
t.start()
答案 1 :(得分:2)
使用线程。打开n
个线程,同时ping服务器。您可以查看https://www.python-course.eu/threads.php
但是运行线程是一项CPU密集型任务,因此请确保控制n
。给n
更高的价值可能会给客户带来压力。