Skip to content

Commit e6049a4

Browse files
authored
feat: Use both RssAnon and VmRSS in CI benchmarks (qdrant#133)
* feat: Use RssAnon instead of VmRSS * feat: Show both RSSAnon and VMRss
1 parent 1508944 commit e6049a4

File tree

4 files changed

+24
-12
lines changed

4 files changed

+24
-12
lines changed

tools/qdrant_collect_stats.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@ BENCH_SERVER_NAME=${SERVER_NAME:-"benchmark-server-1"}
1616

1717
IP_OF_THE_SERVER=$(bash "${SCRIPT_PATH}/${CLOUD_NAME}/get_public_ip.sh" "$BENCH_SERVER_NAME")
1818

19-
MEMORY_USAGE=$(ssh -t "${SERVER_USERNAME}@${IP_OF_THE_SERVER}" "grep VmRSS /proc/\$(pidof qdrant)/status | awk '{print \$2}'")
19+
VM_RSS_MEMORY_USAGE=$(ssh -t "${SERVER_USERNAME}@${IP_OF_THE_SERVER}" "grep VmRSS /proc/\$(pidof qdrant)/status | awk '{print \$2}'")
20+
RSS_ANON_MEMORY_USAGE=$(ssh -t "${SERVER_USERNAME}@${IP_OF_THE_SERVER}" "grep RssAnon /proc/\$(pidof qdrant)/status | awk '{print \$2}'")
2021

2122
CURRENT_DATE=$(date +%Y-%m-%d-%H-%M-%S)
2223

23-
echo "$MEMORY_USAGE" > results/memory-usage-"${CURRENT_DATE}".txt
24+
echo "$VM_RSS_MEMORY_USAGE" > results/vm-rss-memory-usage-"${CURRENT_DATE}".txt
25+
echo "$RSS_ANON_MEMORY_USAGE" > results/rss-anon-memory-usage-"${CURRENT_DATE}".txt
2426

2527
ROOT_API_RESPONSE=$(ssh -t "${SERVER_USERNAME}@${IP_OF_THE_SERVER}" "curl -s http://localhost:6333/")
2628

tools/run_ci.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ bash -x "${SCRIPT_PATH}/run_remote_benchmark.sh"
1313
# -t sorts by modification time
1414
export SEARCH_RESULTS_FILE=$(ls -t results/*-search-*.json | head -n 1)
1515
export UPLOAD_RESULTS_FILE=$(ls -t results/*-upload-*.json | head -n 1)
16-
export MEMORY_USAGE_FILE=$(ls -t results/memory-usage-*.txt | head -n 1)
16+
export VM_RSS_MEMORY_USAGE_FILE=$(ls -t results/vm-rss-memory-usage-*.txt | head -n 1)
17+
export RSS_ANON_MEMORY_USAGE_FILE=$(ls -t results/rss-anon-memory-usage-*.txt | head -n 1)
1718
export ROOT_API_RESPONSE_FILE=$(ls -t results/root-api-*.json | head -n 1)
1819

1920
bash -x "${SCRIPT_PATH}/upload_results_postgres.sh"

tools/run_client_script.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ ssh -tt "${SERVER_USERNAME}@${IP_OF_THE_CLIENT}" "${RUN_EXPERIMENT}"
2727

2828
SEARCH_RESULT_FILE=$(ssh "${SERVER_USERNAME}@${IP_OF_THE_CLIENT}" "ls -t results/*-search-*.json | head -n 1")
2929
UPLOAD_RESULT_FILE=$(ssh "${SERVER_USERNAME}@${IP_OF_THE_CLIENT}" "ls -t results/*-upload-*.json | head -n 1")
30-
MEMORY_USAGE_FILE=$(ssh "${SERVER_USERNAME}@${IP_OF_THE_CLIENT}" "ls -t results/memory-usage-*.txt | head -n 1")
30+
VM_RSS_MEMORY_USAGE_FILE=$(ssh "${SERVER_USERNAME}@${IP_OF_THE_CLIENT}" "ls -t results/vm-rss-memory-usage-*.txt | head -n 1")
31+
RSS_ANON_MEMORY_USAGE_FILE=$(ssh "${SERVER_USERNAME}@${IP_OF_THE_CLIENT}" "ls -t results/rss-anon-memory-usage-*.txt | head -n 1")
3132

3233
mkdir -p results
3334

tools/upload_results_postgres.sh

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
# id SERIAL PRIMARY key,
99
# engine VARCHAR(255),
1010
# branch VARCHAR(255),
11-
# commit CHAR(40),
11+
# commit CHAR(40),
1212
# dataset VARCHAR(255),
1313
# measure_timestamp TIMESTAMP,
1414
# upload_time real,
@@ -17,12 +17,14 @@
1717
# mean_precisions real,
1818
# p95_time real,
1919
# p99_time real,
20-
# memory_usage real
20+
# vm_rss_mem real,
21+
# rss_anon_mem real
2122
# );
2223

2324
SEARCH_RESULTS_FILE=${SEARCH_RESULTS_FILE:-""}
2425
UPLOAD_RESULTS_FILE=${UPLOAD_RESULTS_FILE:-""}
25-
MEMORY_USAGE_FILE=${MEMORY_USAGE_FILE:-""}
26+
VM_RSS_MEMORY_USAGE_FILE=${VM_RSS_MEMORY_USAGE_FILE:-""}
27+
RSS_ANON_MEMORY_USAGE_FILE=${RSS_ANON_MEMORY_USAGE_FILE:-""}
2628
ROOT_API_RESPONSE_FILE=${ROOT_API_RESPONSE_FILE:-""}
2729
POSTGRES_TABLE=${POSTGRES_TABLE:-"benchmark"}
2830

@@ -41,8 +43,13 @@ if [[ -z "$UPLOAD_RESULTS_FILE" ]]; then
4143
fi
4244

4345

44-
if [[ -z "$MEMORY_USAGE_FILE" ]]; then
45-
echo "MEMORY_USAGE_FILE is not set"
46+
if [[ -z "$VM_RSS_MEMORY_USAGE_FILE" ]]; then
47+
echo "VM_RSS_MEMORY_USAGE_FILE is not set"
48+
exit 1
49+
fi
50+
51+
if [[ -z "$RSS_ANON_MEMORY_USAGE_FILE" ]]; then
52+
echo "RSS_ANON_MEMORY_USAGE_FILEis not set"
4653
exit 1
4754
fi
4855

@@ -59,15 +66,16 @@ P99_TIME=$(jq -r '.results.p99_time' "$SEARCH_RESULTS_FILE")
5966
UPLOAD_TIME=$(jq -r '.results.upload_time' "$UPLOAD_RESULTS_FILE")
6067
INDEXING_TIME=$(jq -r '.results.total_time' "$UPLOAD_RESULTS_FILE")
6168

62-
MEMORY_USAGE=$(cat "$MEMORY_USAGE_FILE")
69+
VM_RSS_MEMORY_USAGE=$(cat "$VM_RSS_MEMORY_USAGE_FILE")
70+
RSS_ANON_MEMORY_USAGE=$(cat "$RSS_ANON_MEMORY_USAGE_FILE")
6371

6472
QDRANT_COMMIT=$(jq -r '.commit' "$ROOT_API_RESPONSE_FILE")
6573

6674
MEASURE_TIMESTAMP=${MEASURE_TIMESTAMP:-$(date -u +"%Y-%m-%dT%H:%M:%SZ")}
6775

6876

6977
docker run --rm jbergknoff/postgresql-client "postgresql://qdrant:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/postgres" -c "
70-
INSERT INTO ${POSTGRES_TABLE} (engine, branch, commit, dataset, measure_timestamp, upload_time, indexing_time, rps, mean_precisions, p95_time, p99_time, memory_usage)
71-
VALUES ('qdrant-ci', '${QDRANT_VERSION}', '${QDRANT_COMMIT}', '${DATASETS}', '${MEASURE_TIMESTAMP}', ${UPLOAD_TIME}, ${INDEXING_TIME}, ${RPS}, ${MEAN_PRECISIONS}, ${P95_TIME}, ${P99_TIME}, ${MEMORY_USAGE});
78+
INSERT INTO ${POSTGRES_TABLE} (engine, branch, commit, dataset, measure_timestamp, upload_time, indexing_time, rps, mean_precisions, p95_time, p99_time, vm_rss_mem, rss_anon_mem)
79+
VALUES ('qdrant-ci', '${QDRANT_VERSION}', '${QDRANT_COMMIT}', '${DATASETS}', '${MEASURE_TIMESTAMP}', ${UPLOAD_TIME}, ${INDEXING_TIME}, ${RPS}, ${MEAN_PRECISIONS}, ${P95_TIME}, ${P99_TIME}, ${VM_RSS_MEMORY_USAGE}, ${RSS_ANON_MEMORY_USAGE});
7280
"
7381

0 commit comments

Comments
 (0)