Не знаю как Вы, но я отлаживаю сайты на локальном сервере. Мне так удобнее, да и быстрый интернет не всегда есть под рукой. В качестве сервера я использую Denwer. Конечно если вдоваться в детали, то это не совсем сервер, это пакет программ для легкого разворачивания web сервера на своем компьютере. Пока у меня был GPRS, и я не знал радостей широкополосного доступа, скорость работы этого пакета меня вполне устраивала. Однако времена меняются, и теперь на хорошем интернете сайт на удаленном сервере работает гораздо отзывчивее чем на локальном Denwer'е. Непорядок, задержек быть не должно, тем более что железо не самое последнее, и в принципе сверх нагруженных базами/ООП/фреймворками проектов я не пишу.
   Я более чем убежден, что файл с <?php echo 'Hello world!!!'; должен обрабатываться, практически мгновенно, а кнопочка обновления не должна быть заметна глазу. Для того чтобы Denwer работал так, как нужно, необходимо принять ряд мер по его акселерации. Посмотрим, что же можно сделать.

Первое, что дал Google - оптимизация php.ini, находим строки

; realpath_cache_size=16k
; realpath_cache_ttl=120

И заменить их или написать ниже их такие соответсвенно:

realpath_cache_size=16000k
realpath_cache_ttl=1200

Пишут, что данная оптимизация ускоряет Денвер на 40%. Большого прироста скорости я не заметил, но он все же есть. 

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

Теперь возьмемся за mysql. Его конфигурация лежит в файле my.ini, у меня он лежит тут C:\WebServers\usr\local\mysql-5.5

В сети предлагают включить так называемые именованные каналы. Для этого в раздел [mysql] нужно добавить enable-named-pipe

[mysql] 
enable-named-pipe

Также можно увеличить параметр  key_buffer_size, тут тоже как и в php.ini можно не жадничать, и выбрать значение побольше. Рекомендуют 30-40% от размера оперативки.  

Это в принципе все, что мне удалось нарыть. Дальше будет лишь лично мой опыт установки Denwer на windows 8.

Ну во первых, Denwer в базовой комплектации, на нее не ставиться. Про это я уже писал. Кроме того любой проект использующий mysql, почему-то притормаживал. Методом нехитрых замеров производительности я пришел к выводу что скрипт тормозит из-за на mysql_connect. Задержка на нем была приличной, около одной секунды. 

Оказывалось, что localhost не такой уж и локальный, проверка его DNS отнимает время, поэтому на локальной машине имеет смысл в настройках подключения к БД указывать не localhost а конкретно 127.0.0.1

Кстати, win 8 ставил под новый SSD накопитель, и жизнь теперь кажется не такой уж безнадежной =) Очень рекомендую 

Рассказать друзьям
author.jpg

Платная консультация по вопросам 1500 руб/час

Прочитали статью и остались вопросы? Меня зовут Валерий и я её автор. С радостью объясню Вам в скайпе все затруднительные моменты, которые остались за рамками статьи!

Подробнее ...

Добавить комментарий


Комментарии   

Антон
0 # Антон 15.10.2012 12:55
Спасибо помогло!!!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Владимир
+1 # Владимир 19.11.2012 01:21
Спасибо.

Вот только с localhost сомнительная настройка. Ведь в hosts уже стоит запись "127.0.0.1 localhost", а значит никакого обращения к ДНС нет.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
+1 # Leroy 19.11.2012 01:58
однако на деле не все работает как задумано, у меня тут был пост про настройку в опере, ставишь галочку Искать сайт на локальной машине, не ищет. снимаешь галочку, ищет. Веселые баги никогда не уйдут из жизни разработчика. на хабре была статья как один разраб разочаровался в индустрии, ... ты качаешь известный пакет, ставишь его, и вылазит ошибка. ее никто раньше не видел, нигде про нее не написано, но она есть и ее надо решить и так раз от разу. я с ним полностью согласен, так и бывает. этот глюк тому подтвержление
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Webaliser
0 # Webaliser 04.02.2015 08:18
Пока не попробовал, не поверил. И это только изменение с localhost на 127.0.0.1 !!!!

На деле оказалось, что это:
- Генерирование: 1.0379 sec. | Запросы в базу: 8

превратилось в это:
- Генерирование: 0.0335 sec. | Запросы в базу: 8
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
dmitriy
0 # dmitriy 24.11.2012 01:09
Привет!

Подскажи, как решил проблему с медленной работой denwer на win8?

Перешел с вин7 на вин8, теперь одна и та же страница открывается за 4 секунды (2 сек ожидание, 2 передача), на старой системе 0,5 секунды все это занимало. Работать стало невозможно, сидишь и тупо ждешь каждый раз, даже перенос всего на рамдиск не помогает, в чем дело - не пойму... Описанное тобой не помогло
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
+1 # Leroy 26.11.2012 00:08
ну мне все вышеперечисленное помогло. вся трабла была в localhost. еще есть веселая настройка у оперы, писал как-то про нее. еще есть файрволы и касперский. нужно добавлять файлы и локальные сайты в белый список. тонкостей куча, каждый раз что-то новое
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Саша
0 # Саша 27.11.2012 12:38
Спасибо вам больше, замена на 127.0.0.1 помогла. Тоже win 8 установлена, был глюк - долго обновлял страницы. Все помогло.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Oneng
+1 # Oneng 10.12.2012 04:22
Спасибо, помогла замена "127.0.0.1" просто супер!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Иван57007
0 # Иван57007 19.12.2012 03:11
Спасибо помогло,конечно загрузка стала не моментальная ожидание около 4 сек составляет но это куда приятнее чем когда полминуты ждешь,а потом тебе еще и ошибку иногда выдает,только одного не пойму файл my.ini в usr\local\mysql-5.5 не было зато был my.cnf который я переименовал в ini и изменил уже значения как описано в статье,возникает вопрос на сколько отрицательно может повлиять смена расширения?

P.S. все работает пока сбоев нет!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 19.12.2012 09:21
это одно и тоже, не важно расширение
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Anonimus
0 # Anonimus 18.04.2013 22:16
Замена localhost на"127.0.0.1" помогла отклик моментальный. Спасибо!!!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Ankapul
+1 # Ankapul 28.11.2013 21:32
А где его менять надо?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
0 # Leroy 29.11.2013 10:00
при подключении к серверу бд, к примеру в функции mysql_connect
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
mac0s
0 # mac0s 26.06.2013 10:20
все просто, лаконично и помогает. До исправления загрузка была порядка 3-4 сек, теперь 0.3-0.8.

Правда у меня еще стоит eaccelerator с базовыми настройками:



; базовая конфигурация акселератора

[eaccelerator]

eaccelerator.shm_size="64"

eaccelerator.cache_dir="C:/tmp/eaccelerator"

eaccelerator.enable="1"

eaccelerator.optimizer="1"

eaccelerator.check_mtime="1"

eaccelerator.filter=""

eaccelerator.shm_max="0"

eaccelerator.shm_ttl="0"

eaccelerator.shm_prune_period="0"

eaccelerator.shm_only="0"

eaccelerator.compress="1"

eaccelerator.compress_level="9"

eaccelerator.keys = "shm"

eaccelerator.sessions = "shm"

eaccelerator.content = "shm"



Не забудьте поменять путь до папки "tmp" на свой.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Chipotuner
+1 # Chipotuner 27.02.2014 20:58
я тоже что то не понял, где менять localhost на 127.0.0.1
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Falcon
0 # Falcon 10.06.2014 11:44
в настройке сайта (cms)
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Petr
0 # Petr 15.08.2014 11:22
Проделал вышеуказанные действия в статье, к сожалению, ощутимой разницы я не увидел. Как тормозило, так и тормозит на восьмой винде.

Есть ли еще способы увеличения производительности?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Денисыч
+2 # Денисыч 15.01.2015 07:10
Елки-палки, столько времени потеряно, проблема так просто решилась!! Всего-то поменять имя хоста! Спасибо автору!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
adjtea
0 # adjtea 27.07.2015 21:14
И мне помогло! Спасибо огромное!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
АлексейC
0 # АлексейC 27.12.2015 18:18
Большое спасибо и действительно, сколько же времени уходило на загрузку страницы Win 10, теперь в 2 раза быстрее стало все летать)))
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
АлексейC
0 # АлексейC 27.12.2015 18:19
Большое спасибо, действительно в 2 раза быстрее стало все летать win 10 супер, нет слов
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
meloff
0 # meloff 13.01.2016 22:26
ipv6 надо вырубить просто
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Виталий Охрименко
0 # Виталий Охрименко 15.09.2016 04:58
Спасибо! Помогло однозначно! Статья огонь - идеальное сочетание краткости и таланта! Поделитлся записью с друзьями, мож компу тоже пригодится. Сайты на денвере теперь грузятся раза в два быстрее
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Тарас
0 # Тарас 11.05.2018 15:21
Спасибо Вам за статью, проверил настройки и о чудо денвер зашустрил:)
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору