Мне интересно, как масштабирование работает с функциями Azure относительно вывода в Document DB.Azure Function & Document DB
В основном, что происходит, когда Document DB возвращает 429, потому что я превысил выделенную пропускную способность? Я спрашиваю, потому что, когда у меня был самый низкий уровень функций Azure в сочетании с самым низким уровнем Document DB и продолжал вызывать функцию 1000 раз за 20 секунд, я видел только 700-800 фактических документов, вставленных в мою коллекцию документов db. Когда я масштабировал Document DB до максимума с тем же самым низким уровнем функции снова, я получил только 700-800 документов в моей коллекции doc db. Однако, когда я масштабировал функцию до max с документом db в max, я получаю все 1000. Когда я отбрасываю doc db до минимума, я получаю только 300 штук ... хотя похоже, что я заблокировал документ db, и что он все равно повторяет попытку вставки до тех пор, пока это не удастся.
Так что я просто смущен, так как это масштабирование, и если бы я мог получить некоторое представление, поэтому я мог бы лучше настроить различные аспекты функции или приложения.
Я запуская функцию, так как я не верю, что автобусное запускает в C# в настоящее время функционал (хотя это может быть изменено с помощью HTTP так как это быстро меняется в данный момент). Таким образом, я запускаю все 1000 через http, я использую loader.io, чтобы сделать это, вызывая конечную точку веб-api в моем коде, который, в свою очередь, вызывает сообщение http, чтобы вызвать функцию. Тест loader.io рассчитан на запуск 50 запросов/сек в течение 20 секунд. – steveko23
Я не уверен на 100%, если функция в конечном итоге закончится. В моем последнем тесте больше не записывалось больше записей, но я все еще получал 429, когда пытался связаться с коллекцией doc db. Поэтому я удалил всю коллекцию и воссоздал ее, а затем увидел дополнительные записи, записанные в коллекцию. Таким образом, похоже, что он все еще пытался, но также казалось, что это было в странном состоянии. – steveko23
Ну, после кучи тестирования сегодня я понял, что я удалил фактический сон из этого фрагмента кода в своем последнем изменении: https://github.com/Azure/azure-webjobs-sdk-extensions/commit/d39943965d45038ebddc7d4a2d729beab8a678aC# дифф-6f209fbf17e36efd4d9ebc6a285cc00cL69. Я исправлю это и добавлю некоторые тесты, чтобы убедиться, что это не повторится. Я напишу здесь, когда это исправление доступно, и я попробую еще несколько тестов, чтобы убедиться, что он работает так, как раньше. Спасибо, что подняли это! – brettsam