Я недавно начал работать в новой компании и в настоящее время настраиваю среду разработки.
Мы используем Ubuntu 16.04 и MySQL 5.6.
Все было хорошо, пока я не запустил тесты (используя mvn test
). После ожидания более 20 минут испытания не были закончены. Я прокомментировал это со своими друзьями, и они сказали мне, что для них обычно требуется не более 7 минут для завершения всех тестов. Более того, наша машина CI (которая должна быть хуже, чем мой ноутбук) выполняет все тесты более или менее 6 минут. Я даже не знаю, сколько мне это нужно, поскольку я пробую разные подходы и прекращаю выполнение через 15 минут. Я совершенно потерялся здесь.
Я начинаю думать, что это что-то связано с буферами или что-то в этом роде. Это панель мониторинга производительности сервера на mysqlworkbench для моей машины (обратите внимание на пик производительности, после которого он продолжается со скоростью 7 запросов в секунду):
И это сервер CI (обратите внимание на непрерывность +500 запросов в секунду и 22K запросов чтения InnoDB):
Мой ноутбук - Lenovo Z50 с процессором Intel Core i7, 8 Гб оперативной памяти и гибридным SSD-накопителем.
ОБНОВИТЬ
После некоторой работы с кодом тестов я обнаружил, что если я настрою и разорву набор данных только в 50% тестов, сервер получит лучшие результаты (все еще ниже, чем на сервере). Это может указывать на проблемы с буферами?
РЕДАКТИРОВАТЬ 2
Конфигурации не было, так как это была свежая установка. Сейчас /etc/mysql/my.cnf
иметь следующее (после того, как вслепую попробовали некоторые варианты):
[mysqld]
bind-address = 0.0.0.0
innodb_adaptive_flushing
innodb_adaptive_hash_index
innodb_checksums = off
innodb_doublewrite
innodb_use_native_aio
Не уверен, стоит ли заглянуть в другой файл конфигурации.