Tôi tò mò về cách mở rộng quy mô làm việc trên các hàm Azure có liên quan để xuất ra Document DB.Chức năng & tài liệu Azure DB
Về cơ bản điều gì sẽ xảy ra khi Document DB trả lại 429 vì tôi vượt quá thông lượng được phân bổ? Tôi hỏi vì khi tôi có hàm Azure thấp nhất kết hợp với mức thấp nhất của Document DB và tiến hành gọi hàm 1000 lần trong 20 giây, tôi chỉ thấy 700-800 tài liệu thực được chèn vào bộ sưu tập tài liệu db của tôi. Khi tôi thu nhỏ tài liệu DB lên đến mức tối đa với cùng một mức chức năng thấp nhất một lần nữa, tôi chỉ nhận được 700-800 tài liệu trong bộ sưu tập doc db của tôi. Tuy nhiên khi tôi mở rộng chức năng lên đến mức tối đa với db tài liệu ở mức tối đa tôi nhận được tất cả 1000. Khi tôi thả doc db xuống min tôi chỉ có 300. .... mặc dù nó có vẻ như tôi đã khóa tài liệu db tài khoản lên và rằng nó vẫn thử lại chèn cho đến khi nó có thể thành công.
Vì vậy, tôi chỉ bối rối vì điều này là mở rộng quy mô và nếu tôi có thể hiểu rõ hơn để tôi có thể điều chỉnh các khía cạnh khác nhau của hàm hoặc ứng dụng.
Tôi đang kích hoạt các chức năng thông qua http vì tôi không tin dịch vụ xe buýt gây ra trong C# đang chức năng (mặc dù có thể đã thay đổi vì điều này đang thay đổi nhanh chóng vào lúc này). Vì vậy, tôi kích hoạt tất cả 1000 thông qua http, tôi đang sử dụng loader.io để làm điều này gọi một điểm cuối api web trong mã của tôi mà lần lượt kích hoạt bài http để kích hoạt chức năng. Kiểm tra loader.io được đặt để chạy 50 yêu cầu/giây trong 20 giây. – steveko23
Tôi không chắc chắn 100% nếu chức năng cuối cùng kết thúc. Trong thử nghiệm cuối cùng của tôi không có nhiều hồ sơ dường như được viết, nhưng tôi vẫn nhận được 429 khi tôi cố gắng tương tác với bộ sưu tập doc db. Vì vậy, tôi đã xóa toàn bộ bộ sưu tập và tạo lại nó và sau đó thấy các bản ghi bổ sung được ghi vào bộ sưu tập. Vì vậy, có vẻ như nó vẫn đang cố gắng, nhưng cũng có vẻ như nó đang ở trong trạng thái kỳ quặc. – steveko23
Vâng, sau một loạt các thử nghiệm ngày hôm nay tôi đã nhận ra rằng tôi đã loại bỏ giấc ngủ thực tế từ bit mã này trong thay đổi cuối cùng của tôi: https://github.com/Azure/azure-webjobs-sdk-extensions/commit/d39943965d45038ebddc7d4a2d729beab8a678aC# diff-6f209fbf17e36efd4d9ebc6a285cc00cL69. Tôi sẽ sửa lỗi này và thêm một số kiểm tra để xác minh nó không xảy ra lần nữa. Tôi sẽ viết lại ở đây khi sửa chữa này có sẵn và tôi sẽ thử một số thử nghiệm nhiều hơn để đảm bảo nó hoạt động như nó được sử dụng để. Cảm ơn đã đưa ra vấn đề này! – brettsam