feat(scripts): add load testing
This commit is contained in:
parent
023cc8505b
commit
8c5aaaa33d
31
scripts/load_test.py
Normal file
31
scripts/load_test.py
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import requests
|
||||||
|
from bs4 import BeautifulSoup
|
||||||
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
|
|
||||||
|
base_url = "http://localhost:8080"
|
||||||
|
|
||||||
|
full_path = f"{base_url}/r/politics"
|
||||||
|
|
||||||
|
ctr = 0
|
||||||
|
|
||||||
|
def fetch_url(url):
|
||||||
|
global ctr
|
||||||
|
response = requests.get(url)
|
||||||
|
ctr += 1
|
||||||
|
print(f"Request count: {ctr}")
|
||||||
|
return response
|
||||||
|
|
||||||
|
while full_path:
|
||||||
|
response = requests.get(full_path)
|
||||||
|
ctr += 1
|
||||||
|
print(f"Request count: {ctr}")
|
||||||
|
soup = BeautifulSoup(response.text, 'html.parser')
|
||||||
|
comment_links = soup.find_all('a', class_='post_comments')
|
||||||
|
comment_urls = [base_url + link['href'] for link in comment_links]
|
||||||
|
with ThreadPoolExecutor(max_workers=10) as executor:
|
||||||
|
executor.map(fetch_url, comment_urls)
|
||||||
|
next_link = soup.find('a', accesskey='N')
|
||||||
|
if next_link:
|
||||||
|
full_path = base_url + next_link['href']
|
||||||
|
else:
|
||||||
|
break
|
Loading…
Reference in New Issue
Block a user