Laravel migrations/db: семя супер медленное

Недавно я обновился с моего старого компьютера Windows в ген. 4 I7 Ubuntu 15.04

Выполняется как сон, ну... За исключением того, что любая команда мастеров Laravel, которая касается базы данных, занимает миллион лет, а мой старый компьютер выполнил любую из этих команд за считанные секунды.

Основное отличие заключается в том, что вместо XAMPP я запускаю MySQL как локальную службу.

Также на моем старом компьютере я мог видеть, как миграция медленно показывалась на экране, поскольку они, кажется, обрабатываются, хотя сейчас это занимает около 2 ~ 5 минут, и когда все результаты миграции отображаются сразу. Это может указывать на то, что где-то есть шея бутылки.

Где-то в Интернете кто-то сказал использовать '127.0.0.1' вместо "localhost" из-за разрешения DSN. Это не решило.

Чтобы убедиться, что проблема не была запущена

    $time = microtime(true);

    //also with host=127.0.0.1
    new PDO("mysql:host=localhost;dbname=some_db", "username", "password");

    //some simple queries here...

    //yielded similar marginal times
    echo microtime(true) - $time;

~ halp


Edit

Я собрал время выполнения для каждого запроса из фреймворка, у меня есть LOTS миграции, анализируя данные, которые я нашел там ничего безумно медленного (например, запрос работает в течение минуты).

Здесь ссылка с данными. Фактические запросы были омрачились в пользу моего работодателя.

Несмотря на то, что многие запросы выполняются в течение секунды или дольше, самый медленный, number 221 занимает 4,5 секунды.

У меня около ста миграции (я знаю), но вот что, если каждая миграция заняла секунду, я буду ждать около полутора минут, чтобы мигрировать, но это часто занимает от 4 до 5 минут.

Как было предложено oliverpool, я сделал некоторое профилирование, переигрывая запросы на mysql через терминал, но мне никогда не приходилось ждать больше секунды, а средний запрос занимал примерно секунду.

Вот скриншот профилирования для самого медленного запроса (3,5 секунды в миграции, не близком к секунде на рис.)

введите описание изображения здесь

Может быть, это указывает на соединение? Кстати, медленный журнал запросов пуст после запуска миграции.

Кроме того, теперь я использую laravel 5, и поведение остается прежним. Я не знаю, как бороться с подключением к сети, поэтому я предполагаю, что некоторые поисковые запросы в порядке, любые предложения приветствуются.

Спасибо заранее.

Ответы

Ответ 1

В этом случае я считаю, что требуется увеличение размера пула буферов. Установите следующее:

[mysqld]
innodb_io_capacity = 2000
innodb_read_io_threads = 64
innodb_thread_concurrency = 0
innodb_write_io_threads = 64