Я обновляю нашу CouchDB в Ubuntu 18.04 с 1.5 до 2.3.1. Я настроил CouchDB как один узел с настройками по умолчанию. В CouchDB я создал представление, и два сервера опрашивают представление с разными уровнями ключа и группы каждые 5 секунд. Также есть один сервер, который записывает данные в базу данных CouchDB.
После обновления мы заметили странное поведение, заключающееся в том, что через каждые пару минут время обработки GET-запроса в CouchDB резко увеличивается и длится еще пару минут, а затем возвращается в нормальное состояние, а затем происходит. шаблон).
Вот несколько примеров запросов, поскольку вы можете видеть, что один ответ занял 4055 мс, а другой - 88 мс
couchdb@127.0.0.1 <0.*.18> bd66679e31 *:5984 *.10 test GET /reporting/_design/term-reporting/_view/dashboard?stale=update_after&startkey=%5B%22TEST%22%2C2019%2C6%2C25%5D&endkey=%5B%22TEST%22%2C2019%2C6%2C25%5D&group=true&group_level=6 200 ok 4055
couchdb@127.0.0.1 <0.*.18> 9e4f74ed2f *:5984 *.10 test GET /reporting/_design/eopr-reporting/_view/dashboard?stale=update_after&startkey=%5B%22TEST%22%2C2019%2C6%2C25%5D&endkey=%5B%22TEST%22%2C2019%2C6%2C25%5D&group=true&group_level=6 200 ok 88
Это не произошло на CouchDB 1.5 с настройками по умолчанию. Я попытался применить следующие настройки, но проблема все еще возникает.
delayed_commits : true
socket_options : [{nodelay, true}]
Я также пытался изменить запрос, используя новые параметры stable=false&update=lazy
, альтернативные для stale=update_after
, и это не решило проблему.
У кого-нибудь есть идея, почему это произошло и как ее решить?