CouchDB View обновляется через 12 часов после вставки 50 тыс. Транзакций - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь выполнить нагрузочный тест одного из аспектов нашего приложения. Он включает лямбда-выражение, которое получает данные из Cloudant и обрабатывает их. Из-за ограничений на AWS 'API-шлюз мы получаем тайм-аут от шлюза, если лямбда-выражение требует более 30 секунд для возврата результата. Это означает, что нам нужно запустить наш loadtest в лямбда-загрузке из Cloudant, чтобы получить точные результаты в реальном мире.

Первое, что я сделал, - это вставил 51 001 документ в Cloudant с помощью массовых документов. После их вставки я попал в конечную точку all_docs, и она подтвердила, что в базе данных находится 51 001 документ.

Проблема возникает, когда я нажимаю на представление, которое помогает нам запрашивать документы. Через 1 час было возвращено 13000к документов. Каждый раз, когда я нажимал на нее, в представлении появлялось еще 100-200 документов. Перенесемся в настоящее время, через 13 часов после вставки транзакций в базу данных, представление возвращает 51 001 документ.

Всегда ли Cloudant так долго создает представления, когда вставлено большое количество транзакций? До 10–11 тысяч он работает нормально, но затем требуется 12 дополнительных часов, чтобы сгенерировать остальное. Конечно, это не предполагаемое поведение? Я не могу поделиться кодом, потому что это моя компания, но представление, которое мы создаем на do c, очень мало. Это объект JSON с примерно 8 параметрами, он очень маленький.

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Через 24 часа поведение прекратилось, и я смог вставить 50k trans, и представление обновилось в реальном времени. Полагаю, облачность ограничивала нас по скорости, или был какой-то странный лимит ресурсов.

Не могу найти никакой документации по этому поводу, что расстраивает

0 голосов
/ 17 июня 2020

Вопрос не включает информацию о представлении, поэтому мы не можем игнорировать тот факт, что нет специального редуктора. Следует избегать использования нестандартных редукторов . Также рассмотрите возможность оптимизации части вашего представления map.

...