У меня есть несколько вопросов о производительности MongoDB.Заранее благодарим за любую помощь.
Архитектура БД
БД установлена в соответствии с инструкциями по адресу: https://docs.aws.amazon.com/quickstart/latest/mongodb/step2.html
У нее один бастиони три реплики.
БД используется в приложении Ruby on Rails 5 с MongoDB 4.09
Вопросы
- Я хотел бызнаете, должен ли параметр 'hosts' включать все реплики или только первичные?
mongoid.yml config
"mongoid": {
"production": {
"clients": {
"default": {
"options": {
"user": "USER",
"password": "PASS****",
"auth_source": "admin",
"read": {
"mode": "primary_preferred"
},
"max_pool_size": 200,
"min_pool_size": 10,
"ssl_verify": false
},
"database": "pro_db",
"hosts": [
"PRIMARY_REPLICANODE.3.0.53:27017",
"SECONDARY_NODE0.3.62.61:27017",
"SECONDARY_NODE1.3.80.80:27017"
]
}
}
}
},
Что такое хорошее значение для max_pool_size?Каждый узел БД Mongo имеет около 16 ГБ ОЗУ и 2 виртуальных CPUS.Существуют ли другие соответствующие параметры, которые следует изменить по умолчанию?
Существует проблема производительности при одновременных запросах API с другими параметрами.Запросы API с тем же параметром имеют средний отклик 11 миллисекунд, но как только параметр изменяется и является параллельным, среднее значение составляет 8904 миллисекунды.И какое-то время ожидания.Я хотел бы знать, что может вызвать проблему?
API-запросов с тем же параметром 11 мс
Запросы API с различными параметрами 8904 мс