Долгое время ничего не разрабатывал на своем ПК, сейчас встали задачи поработать с сайтами "локально". Поставил openserver и... как-то медленно сайты на нем работают. На шаредах и то быстрее. Или это я такой быстрый? Или на Линукс переходить?
Windows 10, какой-то 4-х ядерн. проц. на чипе FM2, SSD, 8ГБ ОЗУ DDR3
В настройках PHP openserver-а выставил
max_execution_time = 300
memory_limit = 4000M
Может еще что-то выкрутить на максимум?
Комментарии
Крутить надо настройки MySQL. Они там достаточно угробищные. Ну и естественно сайты на локалке медленно работают, без кэшей да с дебаггерами.
Ядра дексктопного проца, вообще говоря, могут заметно уступать какому-нибудь Xeon на хостинге. Особенно если это старые APU от AMD в момент когда у них было всё хуже всего.
Ключевая штука правильные настройки mysql, в первую очередь, innodb. Базу лучше на ssd.
PHP7, надеюсь используется?
memory_limit так задирать совершенно бесполезно, кстати. Это ограничение на память используемую _одним_ запросом. И увеличение его сверх необходимости, не даёт преимуществ. Ваше можно раз в 8 смело уменьшить.
Под Linux этот стек будет работать несколько лучше, и скорее стабильнее, но не в разы шустрее, конечно.
Маленький глупый совет. Возможно, Вы это сделали.
Отключите для Админа лишние блоки.
Особенно внешние сервисы, типа счетчики и тэпэ.
это нормально, на десктопе и линукс не сильно быстрый, чтобы более менее нормально работало nginx + php-fpm
"Ядра десктопного проца, вообще говоря, могут заметно уступать какому-нибудь Xeon на хостинге"
На хостинге много сайтов, а у меня пара штук.
PHP 7 использовать не против, но на большинство сайтов с которыми работаю это D7.
Лишние блоки отключить могу но мне потом долго будет вспоминать какие из них не лишние.
Ок, какие настройки MySQL правильные?
На хостинге у сервера ядер может быть довольно много. К тому же, зависит всё вообще от количества запросов, а не сайтов. Т.е. надо понимать, что если сервер не перегружен, получается скорее разделение времени, а не ресурсов, и ваш процесс php, очень шустренько выполняется одним ядром без лишних переключений контекста и прерывания его выполнения, а в немного другое время, и возможно другим ядром в то же, обрабатывается запрос к другому сайту.
По настройкам:
Правильных на все случаи жизни в общем-то нет. Но хорошо, если , например, база может поместиться в innodb_buffer_pool_size целиком. А если нет, то хорошо если в него отдан разумный возможный максимум памяти, и при этом не поджаты другие приложения. Если активно используется query_cache, то разумно его сделать достаточного размера, но не слишком большим, иначе он может стать медленнее чем запрос. И тому подобное. Это довольно большой объём знаний и умений искать узкие места, чтобы вот так с ходу научить этому.
d7 прекрасно работает на php7
php5 и apache вот главные тормоза
Apache сам про себе совсем не тормоз, особенно при разработке в один/два/три потока. Тут даже накладные расходы по памяти будут очень не велики.
хорошо, попробую на PHP 7 надеюсь не будет проблем когда сайты перенесу на хостинги без оного.
От Апач откзаться чтоли?
У меня на OpenServer с дефолтными настройками друпал и 7 и 8 летают
Я специально поставил и залез в настройки mysql по умолчанию в openserver.
- query_cache_size 25MB, лучше было, тогда, вообще отключить.
- innodb_buffer_pool_size 128MB, это часто, очень мало.
- innodb_flush_log_at_trx = 2 лучше 0
Остальные там настройки тоже очень спорные.
Зато выставлены разумно всякие character-set-server и подобные настройки. Т.е. тот, кто эти настройки делал, вероятно разбирается скорее в использовании, чем в настройке mysql. К тому же, вероятно, очень экономилась память для совместимости.
Так что вероятно, может и куда круче "летать".
И все таки как понять какие настройки MySQL "правильные"?
правильных нет, есть оптимальные в конкретных условиях.
поднять субд - это просто (на дефолтных то конфигах)
но тонкая настройка - это довольно специфическая работа, не нужно умалять профессию.
однако, вникать никто не запрещал, с мускулом идут примеры различных конфигов - с них можно начать.
Можно ссылки или рецепты?
Большая оптимальность мене не нада. мне нада, чтоб ресурсы компьютера по макс использовались и не тормозило при навигации по админке. В курсе что на реальном сервера настроено не так, меня это не волнует.
локально?
не трогай дефолтный конфиг)))
и читай https://habrahabr.ru/company/oleg-bunin/blog/328458/