Skip to content

Commit 2872f11

Browse files
authored
Merge pull request #262 from qdrant/new-bq-cascade
cascade bench config for new BQ
2 parents 70591b9 + f1c0157 commit 2872f11

File tree

7 files changed

+835
-1127
lines changed

7 files changed

+835
-1127
lines changed

.github/workflows/actions/create-server-with-retry/action.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ inputs:
77
server_type:
88
description: 'Type of server to create'
99
required: true
10+
region:
11+
description: 'Region to create the server in'
12+
required: false
13+
default: 'fsn1'
1014
max_retries:
1115
description: 'Maximum number of retry attempts'
1216
required: false
@@ -25,12 +29,13 @@ runs:
2529
SERVER_NAME="${{ inputs.server_name }}"
2630
SERVER_TYPE="${{ inputs.server_type }}"
2731
MAX_RETRIES="${{ inputs.max_retries }}"
32+
SERVER_LOCATION="${{ inputs.region }}"
2833
RETRY_COUNT=0
2934
3035
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
3136
echo "Creating server $SERVER_NAME (attempt $((RETRY_COUNT + 1))/$MAX_RETRIES)..."
3237
33-
if SERVER_NAME=$SERVER_NAME SERVER_TYPE=$SERVER_TYPE bash -x "tools/hetzner/create_and_install.sh"; then
38+
if SERVER_NAME=$SERVER_NAME SERVER_TYPE=$SERVER_TYPE SERVER_LOCATION=$SERVER_LOCATION bash -x "tools/hetzner/create_and_install.sh"; then
3439
echo "Successfully created server $SERVER_NAME"
3540
echo "success=true" >> $GITHUB_OUTPUT
3641
exit 0

.github/workflows/manual-benchmarks-cascade.yaml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,15 @@ on:
3434
machines_info:
3535
description: "Internal use, JSON array of machine pairs to use when machines_per_bench is false, e.g. '[{\"server_name\":\"server-0\",\"client_name\":\"client-0\"},{\"server_name\":\"server-1\",\"client_name\":\"client-1\"}]'"
3636
default: "[]"
37+
region:
38+
description: "Hetzner region to run the benchmarks in"
39+
default: "fsn1"
40+
server_machine_type:
41+
description: "Hetzner server machine type to run the benchmarks in"
42+
default: "cpx41"
43+
client_machine_type:
44+
description: "Hetzner server machine type to run the benchmarks in"
45+
default: "cpx31"
3746

3847
env:
3948
# Common environment variables
@@ -223,15 +232,17 @@ jobs:
223232
uses: ./.github/workflows/actions/create-server-with-retry
224233
with:
225234
server_name: ${{ steps.extract_names.outputs.server_name }}
226-
server_type: cpx51
235+
server_type: ${{ inputs.server_machine_type }}
236+
region: ${{ inputs.region }}
227237
max_retries: 5
228238

229239
- name: Create Client
230240
if: ${{ inputs.machines_per_bench == true || inputs.current_batch == 0 }}
231241
uses: ./.github/workflows/actions/create-server-with-retry
232242
with:
233243
server_name: ${{ steps.extract_names.outputs.client_name }}
234-
server_type: cpx41
244+
server_type: ${{ inputs.client_machine_type }}
245+
region: ${{ inputs.region }}
235246
max_retries: 5
236247
runBenchmarks:
237248
name: Run Benchmark ${{ matrix.config.index }}

experiments/configurations/qdrant-quantizations.json

Lines changed: 257 additions & 0 deletions
Large diffs are not rendered by default.

poetry.lock

Lines changed: 510 additions & 1110 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ authors = ["Qdrant Team <info@qdrant.tech>"]
66
package-mode = false
77

88
[tool.poetry.dependencies]
9-
python = ">=3.8,<3.13"
10-
qdrant-client = "^1.11.0"
9+
python = ">=3.9,<3.13"
10+
qdrant-client = { git = "https://github.com/qdrant/qdrant-client.git", branch = "dev" }
1111
typer = "^0.6.1"
1212
jsons = "^1.6.3"
1313
h5py = "^3.7.0"
1414
weaviate-client = ">= 4.5, < 4.7"
1515
elasticsearch = "^8.10.0"
16-
pymilvus = "^2.4.1"
16+
pymilvus = "^2.5.0"
1717
redis = "^5.0.1"
1818
ipdb = "^0.13.9"
1919
stopit = "^1.1.2"

scripts/process-benchmarks.ipynb

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
},
1212
{
1313
"cell_type": "code",
14-
"execution_count": null,
14+
"execution_count": 2,
1515
"metadata": {
1616
"ExecuteTime": {
1717
"end_time": "2022-08-05T10:03:50.900734Z",
@@ -32,7 +32,7 @@
3232
},
3333
{
3434
"cell_type": "code",
35-
"execution_count": null,
35+
"execution_count": 3,
3636
"metadata": {
3737
"ExecuteTime": {
3838
"end_time": "2022-08-05T10:03:50.982398Z",
@@ -42,15 +42,27 @@
4242
"name": "#%%\n"
4343
}
4444
},
45-
"outputs": [],
45+
"outputs": [
46+
{
47+
"data": {
48+
"text/plain": [
49+
"(PosixPath('/home/generall/projects/vector_search/vector-db-benchmark/results'),\n",
50+
" 'qdrant-low-m-8-laion-small-clip-search-0-2025-06-15-13-37-22.json')"
51+
]
52+
},
53+
"execution_count": 3,
54+
"metadata": {},
55+
"output_type": "execute_result"
56+
}
57+
],
4658
"source": [
4759
"DATA_DIR = Path().resolve().parent / \"results\"\n",
4860
"DATA_DIR, list(DATA_DIR.glob(\"*.json\"))[0].name"
4961
]
5062
},
5163
{
5264
"cell_type": "code",
53-
"execution_count": null,
65+
"execution_count": 7,
5466
"metadata": {
5567
"ExecuteTime": {
5668
"end_time": "2022-08-05T10:03:51.482299Z",
@@ -75,7 +87,7 @@
7587
},
7688
{
7789
"cell_type": "code",
78-
"execution_count": null,
90+
"execution_count": 5,
7991
"metadata": {
8092
"ExecuteTime": {
8193
"end_time": "2022-08-05T10:03:54.150582Z",
@@ -85,7 +97,18 @@
8597
"name": "#%%\n"
8698
}
8799
},
88-
"outputs": [],
100+
"outputs": [
101+
{
102+
"data": {
103+
"text/plain": [
104+
"(0, 0)"
105+
]
106+
},
107+
"execution_count": 5,
108+
"metadata": {},
109+
"output_type": "execute_result"
110+
}
111+
],
89112
"source": [
90113
"upload_results, search_results = [], []\n",
91114
"\n",
@@ -126,9 +149,21 @@
126149
},
127150
{
128151
"cell_type": "code",
129-
"execution_count": null,
152+
"execution_count": 6,
130153
"metadata": {},
131-
"outputs": [],
154+
"outputs": [
155+
{
156+
"ename": "IndexError",
157+
"evalue": "list index out of range",
158+
"output_type": "error",
159+
"traceback": [
160+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
161+
"\u001b[0;31mIndexError\u001b[0m Traceback (most recent call last)",
162+
"Cell \u001b[0;32mIn[6], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m upload_results, \u001b[43msearch_results\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m]\u001b[49m\n",
163+
"\u001b[0;31mIndexError\u001b[0m: list index out of range"
164+
]
165+
}
166+
],
132167
"source": [
133168
"upload_results, search_results[0]"
134169
]
@@ -258,7 +293,7 @@
258293
],
259294
"metadata": {
260295
"kernelspec": {
261-
"display_name": "Python 3 (ipykernel)",
296+
"display_name": "venv",
262297
"language": "python",
263298
"name": "python3"
264299
},
@@ -272,7 +307,7 @@
272307
"name": "python",
273308
"nbconvert_exporter": "python",
274309
"pygments_lexer": "ipython3",
275-
"version": "3.9.18"
310+
"version": "3.11.9"
276311
}
277312
},
278313
"nbformat": 4,

tools/hetzner/create_and_install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ SERVER_TYPE=${SERVER_TYPE:-cx41}
1616

1717
SERVER_IMAGE=${SERVER_IMAGE:-ubuntu-22.04}
1818

19-
SERVER_LOCATION=${SERVER_LOCATION:-nbg1}
19+
SERVER_LOCATION=${SERVER_LOCATION:-fsn1}
2020

2121
SERVER_SSH_KEY=${SERVER_SSH_KEY:-'benchmark@qdrant.tech'}
2222

0 commit comments

Comments
 (0)