使用 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 更高的值可能会给客户带来压力。