Tôi đang sử dụng Cosmos DB với bộ điều hợp Mongo, truy cập qua số Ruby mongo driver. Hiện tại có khoảng 2,5 triệu bản ghi trong db.Azure Cosmos DB: 'Yêu cầu tỷ lệ lớn' cho truy vấn đếm đơn giản
Khi truy vấn tổng số lượng hồ sơ, không có vấn đề gì:
2.2.5 :011 > mongo_collection.count
D, [2017-11-24T11:52:39.796716 #9792] DEBUG -- : MONGODB | XXX.documents.azure.com:10255 | admin.count | STARTED | {"count"=>"xp_events", "query"=>{}}
D, [2017-11-24T11:52:39.954645 #9792] DEBUG -- : MONGODB | XXX.documents.azure.com:10255 | admin.count | SUCCEEDED | 0.15778699999999998s
=> 2565825
Nhưng khi tôi cố gắng để đếm số lượng hồ sơ được tìm thấy dựa trên một đơn giản đâu, tôi gặp phải lỗi Request rate is large
:
2.2.5 :014 > mongo_collection.find(some_field: 'some_value').count
D, [2017-11-24T11:56:11.926812 #9792] DEBUG -- : MONGODB | XXX.documents.azure.com:10255 | admin.count | STARTED | {"count"=>"some_table", "query"=>{"some_field"=>"some_value"}}
D, [2017-11-24T11:56:24.629659 #9792] DEBUG -- : MONGODB | XXX.documents.azure.com:10255 | admin.count | FAILED | Message: {"Errors":["Request rate is large"]}
ActivityId: 0000-0000-0000-000000000000, Request URI: /apps/XXX/services/XXX/partitions/XXX/replicas/XXX/, RequestStats: , SDK: Microsoft.Azure.Documents.Common/1.17.101.1 (16500), Message: {"Errors":["Request rate is large"]}
Tôi hiểu cách lỗi hoạt động, nhưng tôi không hiểu cách truy vấn như vậy có thể tối đa RU/s (được đặt ở giá trị tối đa 10.000), vì trường tôi đang truy vấn được lập chỉ mục (tự động).
Bất kỳ lời khuyên nào sẽ được đánh giá rất nhiều!
Tôi đang đối mặt với cùng một vấn đề, nó thực sự tồi tệ –
Không thực sự là giải pháp, nhưng tôi đã bật [Pipeline tổng hợp trong trang Tính năng xem trước] (https://azure.microsoft.com/en-us/blog)/azure-cosmosdb-extends-hỗ trợ-cho-mongodb-aggregation-pipeline-unique-indexes-và-more /) trong cổng Azure. Bằng cách đó bạn có thể viết lại bạn truy vấn để sử dụng mệnh đề nhóm, điều này sử dụng rất ít RU/s. – bramj