Skip to content

Commit 5eca151

Browse files
committed
Visibility for benchmark disclaimer
1 parent 0f3088c commit 5eca151

File tree

2 files changed

+20
-20
lines changed

2 files changed

+20
-20
lines changed

articles/search/performance-benchmarks.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ ms.service: cognitive-search
88
ms.custom:
99
- ignite-2023
1010
ms.topic: conceptual
11-
ms.date: 01/31/2023
11+
ms.date: 01/19/2024
1212
---
1313

1414
# Azure AI Search performance benchmarks
1515

16-
Azure AI Search's performance depends on a [variety of factors](search-performance-tips.md) including the size of your search service and the types of queries you're sending. To help estimate the size of search service needed for your workload, we've run several benchmarks to document the performance for different search services and configurations. These benchmarks in no way guarantee a certain level of performance from your service but can give you an idea of the performance you can expect.
16+
Azure AI Search's performance depends on a [variety of factors](search-performance-tips.md) including the size of your search service and the types of queries you're sending. To help estimate the size of search service needed for your workload, we've run several benchmarks to document the performance for different search services and configurations. *These benchmarks in no way guarantee a certain level of performance from your service but can give you an idea of the performance you can expect*.
1717

1818
To cover a range of different use cases, we ran benchmarks for two main scenarios:
1919

@@ -49,11 +49,12 @@ Each scenario used at least 10,000 unique queries to avoid tests being overly sk
4949

5050
- **Latency** - The server's latency for a query; these numbers don't include [round trip delay (RTT)](https://en.wikipedia.org/wiki/Round-trip_delay). Values are in milliseconds (ms).
5151

52-
### Disclaimer
52+
## Testing disclaimer
5353

5454
The code we used to run these benchmarks is available on the [azure-search-performance-testing](https://github.com/Azure-Samples/azure-search-performance-testing/tree/main/other_tools) repository. It's worth noting that we observed slightly lower QPS levels with the [JMeter performance testing solution](https://github.com/Azure-Samples/azure-search-performance-testing) than in the benchmarks. The differences can be attributed to differences in the style of the tests. This speaks to the importance of making your performance tests as similar to your production workload as possible.
5555

56-
These benchmarks in no way guarantee a certain level of performance from your service but can give you an idea of the performance you can expect based on your scenario.
56+
> [!IMPORTANT]
57+
> These benchmarks in no way guarantee a certain level of performance from your service but can give you an idea of the performance you can expect based on your scenario.
5758
5859
If you have any questions or concerns, reach out to us at [email protected].
5960

@@ -87,15 +88,14 @@ The following chart shows the highest query load a service could handle for an e
8788

8889
#### Query latency
8990

90-
Query latency varies based on the load of the service and services under higher stress will have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
91+
Query latency varies based on the load of the service and services under higher stress have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
9192

9293
| Percentage of max QPS | Average latency | 25% | 75% | 90% | 95% | 99%|
9394
|---|---|---|---| --- | --- | --- |
9495
| 20% | 104 ms | 35 ms | 115 ms | 177 ms | 257 ms | 738 ms |
9596
| 50% | 140 ms | 47 ms | 144 ms | 241 ms | 400 ms | 1175 ms |
9697
| 80% | 239 ms | 77 ms | 248 ms | 466 ms | 763 ms | 1752 ms |
9798

98-
9999
### S2 Performance
100100

101101
#### Queries per second
@@ -106,7 +106,7 @@ The following chart shows the highest query load a service could handle for an e
106106

107107
#### Query latency
108108

109-
Query latency varies based on the load of the service and services under higher stress will have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
109+
Query latency varies based on the load of the service and services under higher stress have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
110110

111111
| Percentage of max QPS | Average latency | 25% | 75% | 90% | 95% | 99%|
112112
|---|---|---|---| --- | --- | --- |
@@ -126,7 +126,7 @@ In this case, we see that adding a second partition significantly increases the
126126

127127
#### Query latency
128128

129-
Query latency varies based on the load of the service and services under higher stress will have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
129+
Query latency varies based on the load of the service and services under higher stress have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
130130

131131
| Percentage of max QPS | Average latency | 25% | 75% | 90% | 95% | 99%|
132132
|---|---|---|---| --- | --- | --- |
@@ -153,7 +153,7 @@ The following chart shows the highest query load a service could handle for an e
153153

154154
#### Query latency
155155

156-
Query latency varies based on the load of the service and services under higher stress will have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
156+
Query latency varies based on the load of the service and services under higher stress have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
157157

158158
| Percentage of max QPS | Average latency | 25% | 75% | 90% | 95% | 99%|
159159
|---|---|---|---| --- | --- | --- |
@@ -171,7 +171,7 @@ The following chart shows the highest query load a service could handle for an e
171171

172172
#### Query latency
173173

174-
Query latency varies based on the load of the service and services under higher stress will have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
174+
Query latency varies based on the load of the service and services under higher stress have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
175175

176176
| Percentage of max QPS | Average latency | 25% | 75% | 90% | 95% | 99%|
177177
|---|---|---|---| --- | --- | --- |
@@ -189,7 +189,7 @@ The following chart shows the highest query load a service could handle for an e
189189

190190
#### Query latency
191191

192-
Query latency varies based on the load of the service and services under higher stress will have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
192+
Query latency varies based on the load of the service and services under higher stress have a higher average query latency. The following table shows the 25th, 50th, 75th, 90th, 95th, and 99th percentiles of query latency for three different usage levels.
193193

194194
| Percentage of max QPS | Average latency | 25% | 75% | 90% | 95% | 99%|
195195
|---|---|---|---| --- | --- | --- |
@@ -204,9 +204,9 @@ Through these benchmarks, you can get an idea of the performance Azure AI Search
204204
Some key take ways from these benchmarks are:
205205

206206
* An S2 can typically handle at least four times the query volume as an S1
207-
* An S2 will typically have lower latency than an S1 at comparable query volumes
207+
* An S2 typically has lower latency than an S1 at comparable query volumes
208208
* As you add replicas, the QPS a service can handle typically scales linearly (for example, if one replica can handle 10 QPS then five replicas can usually handle 50 QPS)
209-
* The higher the load on the service, the higher the average latency will be
209+
* The higher the load on the service, the higher the average latency
210210

211211
You can also see that performance can vary drastically between scenarios. If you're not getting the performance you expect, check out the [tips for better performance](search-performance-tips.md).
212212

articles/search/search-get-started-vector.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@ ms.date: 01/19/2024
1616

1717
Get started with vector search in Azure AI Search using the **2023-11-01** REST APIs that create, load, and query a search index.
1818

19-
Search indexes can have vector and non-vector fields. You can create pure vector queries, or hybrid queries targeting both vector *and* textual fields configured for filters, sorts, facets, and semantic reranking.
19+
Search indexes can have vector and nonvector fields. You can execute pure vector queries, or hybrid queries targeting both vector *and* textual fields configured for filters, sorts, facets, and semantic reranking.
2020

2121
> [!NOTE]
22-
> Looking for [built-in data chunking and vectorization public preview](vector-search-integrated-vectorization.md)? Try the [**Import and vectorize data** wizard](search-get-started-portal-import-vectors.md) instead.
22+
> The stable REST API version depends on external modules for data chunking and embedding. If you want test-drive the [built-in data chunking and vectorization (public preview)](vector-search-integrated-vectorization.md) features, try the [**Import and vectorize data** wizard](search-get-started-portal-import-vectors.md) for an end-to-end walkthrough.
2323
2424
## Prerequisites
2525

2626
+ [Postman app](https://www.postman.com/downloads/)
2727

28+
+ [Sample Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/main/Quickstart-vectors), with requests targeting the **2023-11-01** API version of Azure AI Search.
29+
2830
+ An Azure subscription. [Create one for free](https://azure.microsoft.com/free/).
2931

3032
+ Azure AI Search, in any region and on any tier. Most existing services support vector search. For a small subset of services created prior to January 2019, an index containing vector fields will fail on creation. In this situation, a new service must be created.
3133

32-
For the optional [semantic ranking](semantic-search-overview.md) shown in the last example, your search service must be Basic tier or higher, with [semantic ranking enabled](semantic-how-to-enable-disable.md).
33-
34-
+ [Sample Postman collection](https://github.com/Azure-Samples/azure-search-postman-samples/tree/main/Quickstart-vectors), with requests targeting the **2023-11-01** API version of Azure AI Search.
34+
+ Optionally, for [semantic reranking](semantic-search-overview.md) shown in the last example, your search service must be Basic tier or higher, with [semantic ranking enabled](semantic-how-to-enable-disable.md).
3535

3636
+ Optionally, an [Azure OpenAI](https://aka.ms/oai/access) resource with a deployment of **text-embedding-ada-002**. The quickstart includes an optional step for generating new text embeddings, but we provide existing embeddings so that you can skip this step.
3737

@@ -233,7 +233,7 @@ You should get a status HTTP 201 success.
233233

234234
**Key points:**
235235

236-
+ The `"fields"` collection includes a required key field, text and vector fields (such as `"Description"`, `"DescriptionVector"`) for keyword and vector search. Colocating vector and non-vector fields in the same index enables hybrid queries. For instance, you can combine filters, keyword search with semantic ranking, and vectors into a single query operation.
236+
+ The `"fields"` collection includes a required key field, text and vector fields (such as `"Description"`, `"DescriptionVector"`) for keyword and vector search. Colocating vector and nonvector fields in the same index enables hybrid queries. For instance, you can combine filters, keyword search with semantic ranking, and vectors into a single query operation.
237237

238238
+ Vector fields must be `"type": "Collection(Edm.Single)"` with `"dimensions"` and `"vectorSearchProfile"` properties. See [Create or Update Index](/rest/api/searchservice/indexes/create-or-update) for property descriptions.
239239

@@ -476,7 +476,7 @@ The response for the vector equivalent of "classic lodging near running trails,
476476

477477
### Single vector search with filter
478478

479-
You can add filters, but the filters are applied to the non-vector content in your index. In this example, the filter applies to the `"Tags"` field, filtering out any hotels that don't provide free WIFI.
479+
You can add filters, but the filters are applied to the nonvector content in your index. In this example, the filter applies to the `"Tags"` field, filtering out any hotels that don't provide free WIFI.
480480

481481
This example sets `vectorFilterMode` to pre-query filtering, which is the default, so you don't need to set it. It's listed here for awareness because it's a newer feature.
482482

0 commit comments

Comments
 (0)