locked
Azure Search service performance limitations RRS feed

  • Question

  • Hi,

    I have a few questions regarding the performance of azure search service.

    1. MSDN documentation for Azure search service says ,"Maximum 1000 documents returned per page of search results"
    what does this mean exactly? 

    2.I am using a search service with standard tier with 1 partition and 2 replicas. i have a threshold of 15 million documents and 25 GB storage. So, if start consuming more storage than the threshold defined, will my search service crash, or will the performance be imapcted or will it auto-scale to 2 partitions?

    Basically, i need to know at which point will the performance of my search service be impacted.

    Thanks in advance.

    Regards,

    Priyanka

    Thursday, October 29, 2015 4:37 AM

Answers

  • Hi Priyanka,

    So far, Azure Search has no auto-scaling capabilities that I've heard of.

    What might happen when hitting the storage limit is that further requests to Add items to the index will fail with a 429 HTTP Status code (API Reference).

    Quoting the docs:

    Status code: 429 indicates that you have exceeded your quota on the number of documents per index. You must either create a new index or upgrade for higher capacity limits.

    To answer your question 1, it means that when you Search, you can implement pagination (with the "skip" parameter), but there is a limit of how many documents per page you can request. For example, if you have a listing of results, you can make that listing of any size from 1 to 1000 (mostly, you never get to 1000 because you can paginate, but I don't know your scenario).

    To answer your question 2, the service won't crash, you just won't be able to add more documents until you scale up or delete some of those documents.

    Thursday, October 29, 2015 11:49 AM

All replies

  • Hi Priyanka,

    So far, Azure Search has no auto-scaling capabilities that I've heard of.

    What might happen when hitting the storage limit is that further requests to Add items to the index will fail with a 429 HTTP Status code (API Reference).

    Quoting the docs:

    Status code: 429 indicates that you have exceeded your quota on the number of documents per index. You must either create a new index or upgrade for higher capacity limits.

    To answer your question 1, it means that when you Search, you can implement pagination (with the "skip" parameter), but there is a limit of how many documents per page you can request. For example, if you have a listing of results, you can make that listing of any size from 1 to 1000 (mostly, you never get to 1000 because you can paginate, but I don't know your scenario).

    To answer your question 2, the service won't crash, you just won't be able to add more documents until you scale up or delete some of those documents.

    Thursday, October 29, 2015 11:49 AM
  • To add a bit of detail on question 1: If you send a search query with no $top parameter, the default page size is 50. That means that if there are more than 50 matching documents, only 50 will be included in the results, along with metadata that allows you to fetch the next page of results (@odata.nextLink for GET responses, and a combination of @odata.nextLink and @search.nextPageParameters for POST responses). If you do send $top but its value is greater than 1000, the page size will be truncated to 1000, you will get only 1000 results, and likewise some metadata to help you fetch the next page of results. This is what we refer to in the documentation as "server-side paging". If you're using the .NET SDK, you'll know you're in this case when the DocumentSearchResponse contains a non-null ContinuationToken property, which you can pass to ContinueSearch() to get the next page of results.
    Thursday, October 29, 2015 6:29 PM
  • Thanks Easlur!! That was quite informational and helpful.

    Thanks!

    Friday, October 30, 2015 5:58 AM
  • Thanks Bruce. This piece of information helped. 
    Just one little question here, in terms of auto-scaling, does azure search service auto-scale after it reaches the threshold?

    Friday, October 30, 2015 6:00 AM
  • No, Azure Search doesn't support auto-scaling at this time. If you need to scale up your service, you can use the Azure Portal or the Management REST API.
    Friday, October 30, 2015 5:48 PM
  • Thank you Bruce!
    Appreciate your help.
    Monday, November 2, 2015 5:36 AM