Add a script for performance testing

This commit is contained in:
Daoud Clarke 2021-04-11 15:10:02 +01:00
parent d6809fc6f4
commit 634e490cff
2 changed files with 34 additions and 5 deletions

29
make_curl.py Normal file
View file

@ -0,0 +1,29 @@
"""
Make a curl script for testing performance
"""
import os
from itertools import islice
from urllib.parse import quote
from paths import DATA_DIR
from wiki import get_wiki_titles_and_urls
URL_TEMPLATE = "http://localhost:8000/complete?q={}"
CURL_FILE = os.path.join(DATA_DIR, "urls.curl")
def get_urls():
titles_and_urls = get_wiki_titles_and_urls()
for title, url in islice(titles_and_urls, 100):
query = quote(title.lower())
yield URL_TEMPLATE.format(query)
def run():
with open(CURL_FILE, 'wt') as output_file:
for url in get_urls():
output_file.write(f'url="{url}"\n')
if __name__ == '__main__':
run()

View file

@ -21,15 +21,15 @@ NUM_PAGES = 500
def query_test():
titles_and_urls = get_wiki_titles_and_urls()
# client = TestClient(app)
client = TestClient(app)
start = datetime.now()
hits = 0
for title, url in islice(titles_and_urls, NUM_PAGES):
# result = client.get('/complete', params={'q': title})
# assert result.status_code == 200
# data = result.content.decode('utf8')
data = json.dumps(complete(title))
result = client.get('/complete', params={'q': title})
assert result.status_code == 200
data = result.content.decode('utf8')
# data = json.dumps(complete(title))
if url in data:
hits += 1