Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 11.01.2017 11:20:59

constb пишет:

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

А каковы могут быть последствия со стороны этих приложений, когда они начинают хотеть своп? (чтобы понимать, чего ожидать, а то я за много лет с отключенным свопом на такое не натыкался пока).

#2 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 10.01.2017 17:28:29

Swap на хост-машине отключен совсем (т.к. 16 гиг еще занять надо суметь).
Эксперимент был бы чистым, если бы mysql хранила всю базу в 1 файле, как MSSQL (ВМ же пишет в 1 файл).
А так, похоже, все тормоза при create table именно из-за накладных расходов NTFS на создание файлов под хранение таблиц.
Надо попробовать положить хранилище mysql на RAM-диск smile

#3 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 06.01.2017 18:09:20

Proger_XP пишет:

Похоже дело в настройке MySQL, т.к. выполнение просто растянуто во времени. Попробуй скопировать my.cnf с Ubuntu в Windows (с нужными правками, конечно).

Сравнивал show global variables diff'ом, применял все различия, научился затормаживать create table еще в 2 раза smile Ускорить, увы, так и не удалось.

Proger_XP пишет:

Файлы с данными VM и MySQL под Windows на одном диске? Если разных, может быть причиной задержек (например, если под Windows на сетевом).

На одном, не на сети, конечно же. Хотя, подозреваю, что проблема может лежать именно в этой плоскости - винда может просто дольше файлы таблиц создавать. Выборки-то отрабатывают за одинаковое время.

PS: плюнул и работаю дальше с Percona в виртуалке smile

#4 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 06.01.2017 11:14:58

Добавил логирование в начало каждой миграции на одном из проектов.
Колонка Linux — результаты выполнения на Ubuntu внутри виртуальной машины VMware (2 секунды).
Колонка Win — результаты выполнения на Windows (24 секунды).

Код PHP в обоих случаях исполнялся на Windows (под Linux только MySQL).

logLinux  Win
04:07  05:20
04:07  05:20
04:08  05:20
04:08  05:21
04:08  05:21
04:08  05:22
04:08  05:23
04:08  05:23
04:08  05:24
04:08  05:24
04:08  05:25
04:08  05:25
04:08  05:25
04:08  05:26
04:08  05:27
04:08  05:28
04:08  05:28
04:08  05:30
04:09  05:31
04:09  05:32
04:09  05:34
04:09  05:35
04:09  05:37
04:09  05:38
04:09  05:39
04:09  05:39
04:09  05:40
04:09  05:40
04:09  05:40
04:09  05:41
04:09  05:42
04:09  05:43
04:09  05:43
04:09  05:44
============
   2с    24с

#5 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 05.01.2017 23:14:08

AlexeyMezenin пишет:

}%Добавь в миграции логирование \Log::info(....); и выводи время запуска. По крайней мере будет понятно куда дальше копать. Опция  seed используется? Или просто migrate?

Попробую завтра.
Воспроизводится как с --seed, так и отдельно от сидирования.

#6 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 05.01.2017 23:12:44

Proger_XP пишет:

Значение 2 как раз сильно замедлит транзакции. 1 - по умолчанию, 0 - самое быстрое (и опасное).

Все пробовал.

#7 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 05.01.2017 21:29:00

constb пишет:

поставь innodb_buffer_pool_size от 2G или больше и рестартани его – может помочь.

Стоял на 2Gb, поставил 4Gb - не помогло.
Пробовал так же:
innodb_flush_log_at_trx_commit=2

MariaDB 10.1 и 10.2 - точно такое же поведение.

Вводная:
Дропаем database, создаем, запускаем миграции.
Бодро пролетает
Migration table not found.
Migration table created successfully.
после чего начинает интенсивно сношать HDD в течении примерно 30-60 секунд (в зависимости от количества таблиц на проекте).
воспроизводится на разных ПК (от 4 до 16 Gb RAM).

#8 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 04.01.2017 23:02:34

В качестве костыля пришлось поднять Убунту на виртуальной машине и поселить Мускул туда.
Никакие камлания с глобальными переменными виндового Мускула (равно как и Машеньки), не помогли ускорить отработку миграций.

#9 Re: Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 04.01.2017 11:25:13

Я поражен вашей мудрой проницательностью. Как Вы всё верно расписали, так дело и обстоит.

Серверы у нас - под linux. Винда используется строго как десктопная система. И так получилось, что на ней человек работает за компом.
В этом качестве у Винды находятся определенные преимущества для данного конкретного человека.

Вот вам use case - человек сидит в глухом лесу, после баньки работает за своим любимым клавиатурным планшетником с виндой десяточкой над любимым проектом. С интернетом, сами понимаете, небольшие перебои - лес, деревья, волки и лисы вокруг.
А миграции - тормозят. Так может, поможем человеку подкрутить мускул, чтобы он не жужжал дисками при выполнении DDL, вместо того чтобы в очередной раз, блистая бронзой, аки звезда на небосводе, расcказывать, как космические корабли бороздят просторы Большого театра?

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

#10 Laravel 5.x » Тормозят миграции под windows, в linux - летают. » 01.01.2017 10:30:38

Yozheg
Ответов: 29

Здравствуйте!

Простейшие миграции 50 таблиц на WAMP (mysql 5.7, чистая база, сразу после drop) отрабатывают очень долго (несколько минут).
На LAMP те же самые миграции отрабатывают практически мгновенно.

В какую сторону тюнить mysql?

Подвал раздела