使用 webscrapig 对网站进行压力测试
stress test a website with webscrapig
我朋友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)
而不是 运行 一个接一个地 运行 宁 1000 次,有没有其他方法可以测试它,如果我想 运行 同时使用 1000 个代码 python?谢谢!
您可以使用 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()
使用线程。开启n
个线程,同时ping通服务器。你可以看看 https://www.python-course.eu/threads.php
但是 运行 线程是一项 CPU 密集型任务,因此请确保保持 n
受控。给 n
更高的值可能会给客户带来压力。
我朋友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)
而不是 运行 一个接一个地 运行 宁 1000 次,有没有其他方法可以测试它,如果我想 运行 同时使用 1000 个代码 python?谢谢!
您可以使用 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()
使用线程。开启n
个线程,同时ping通服务器。你可以看看 https://www.python-course.eu/threads.php
但是 运行 线程是一项 CPU 密集型任务,因此请确保保持 n
受控。给 n
更高的值可能会给客户带来压力。