Я вижу много вопросов о дисках и синхронизациях. Я хотел бы знать то, что на самом деле делают диски. Каково их среднее время доступа? Сколько времени запрос i/o должен ожидать, прежде чем он должен будет быть обслужен? Сколько запросов i/o стоится в очереди? Конечно, существуют также вопросы о том, насколько занятый CPU или что происходит с Вашей подсистемой памяти. На все эти вопросы можно легко ответить путем выполнения collectl в другом окне при выполнении тестов. Я утверждал бы, что изменил несколько настроек и повторно выполнил тестовый поиск, какие настройки имеют значение, мог помочь, но действительно необходимо добраться до первопричины.
Например, упомянул кто-то raid0 va raid5. Это - действительно важная персона. Как эти две подсистемы выдерживают сравнение в отсутствие Вашей рабочей нагрузки? Попытайтесь делать простые чтения/записи каждому с инструментом как dd или dt или даже озон и затем наблюдайте то, что происходит с инструментом как collectl или даже iostat. Если существует большая разница между производительностью этих 2 (и я знаю, что raid0 будет быстрее на записях, raid5 должен победить на чтениях), можно сделать всю настройку, Вам нравится к DB, и Вы никогда не собираетесь превышать то, что могут сделать диски.
- метка
Иногда вам нужно запустить monit с максимальной степенью детализации в режиме без демона, когда вы вызываете ошибку (например, выводите строки для отслеживания в файл журнала), чтобы установить, в чем проблема .
Остановить мониторинг и запустить его с:
monit -c /path/to/monit.conf -vv -I 2>&1 | tee /tmp/monit_debug.log
Вызвать ошибку и сообщить о том, что вы видите.