Spaces:
Running
Running
import subprocess | |
import time | |
# This measures the start time of weaviate | |
# | |
# How to use: | |
# - Build a container of the weaviate code that you want to benchmark, this script assumes that you use | |
# ./tools/test/run_ci_server.sh | |
# - Import objects | |
# - Run this script, it will automatically stop/start the weaviate docker container multiple times and measure how long | |
# it takes | |
runs = 10 | |
container_name = "weaviate-weaviate-1" | |
total_time = 0 | |
# stop any running weaviate containers | |
subprocess.run(["docker", "stop", container_name]) | |
for _ in range(runs): | |
start = time.time() | |
subprocess.run(["docker", "start", container_name]) | |
# Loop until weaviate is responding | |
while True: | |
n = subprocess.run(["curl", "-s", "http://localhost:8080"]) | |
if n.returncode == 0: | |
total_time += time.time()-start | |
subprocess.run(["docker", "stop", container_name]) | |
break | |
print("Average time until weaviate responds: ", total_time/runs) | |