Всем привет!
Как уменьшить время ответа сервера, чтобы оно составляло не более 200 мс?
Насколько я понял, большое время ответа может быть связано с десятками факторов: логика приложения, медленная работа с базой данных, маршрутизация, программная платформа, библиотеки, нехватка процессорной мощности или памяти. Все эти обстоятельства следует учитывать при оптимизации.
Интересно, а сколько у вас время ответа сервера? И как вы этого добились?
Рекомендации Google Developer по оптимизации времени ответа сервера
Уменьшите время ответа сервера, чтобы оно составляло не более 200 мс. Большое время ответа может быть связано с десятками факторов: логика приложения, медленная работа с базой данных, маршрутизация, программная платформа, библиотеки, нехватка процессорной мощности или памяти. Все эти обстоятельства следует учитывать при оптимизации. Первым делом необходимо измерить время ответа сервера. Затем, обладая нужными сведениями, нужно обратиться к соответствующим руководствам. Решив проблему, продолжайте измерять время ответа и принимать необходимые меры.
В моём случае, что я знаю точно, так это то, что у меня фактическое потребление оперативной памяти больше, чем выделено по тарифу на хостинге.
Я предполагаю, что это одна из причин влияющих на время ответа сервера.
У меня на хостинге два сайта: интернет-магазин Magento и форум vBulletin.
Рекомендации по снижению потребления оперативной памяти на хостинге
1. Общая информация
Основной ресурс на хостинге, который влияет на работу сайтов — это память, выделенная для работы процессов на виртуальном веб-сервере. Размер выделенной памяти устанавливается в соответствии с тарифным планом. Для того чтобы работа сайтов на хостинге была стабильной, потребление памяти должно быть в пределах, установленных тарифным планом. Ознакомиться с графиком потребления памяти на услуге хостинга вы можете в разделе «Веб-сервер» → «Использование ресурсов» панели управления хостингом. График обновляется каждые 5 минут.
Если график потребления памяти (голубая линия) достигает и превышает значение доступной в рамках тарифного плана оперативной памяти (оранжевая линия), может наблюдаться нестабильная работа, частичная либо полная неработоспособность сайтов, так как серверу недостаточно ресурсов для обработки поступающих к нему запросов и выполнения скриптов.
2. Способы снижения потребления памяти
2.1. Отключите неиспользуемые модули веб-сервера Apache и расширения модуля PHP
В панели управления хостингом вы можете управлять конфигурацией вашего веб-сервера Apache и модуля PHP. Каждый подключенный модуль увеличивает потребление оперативной памяти, поэтому важно подключить только те, которые необходимы для работы сайта. Список необходимых для работы сайта модулей можно уточнить у разработчика сайта или в документации по используемой CMS.
По умолчанию на хостинге включены модули Apache: auth_module, cgi, realip_module, rewrite_module, autoindex_module, env_module, expires_module
Проверьте, включены ли у вас следующие модули Apache и отключите их: для работы большинства сайтов на PHP и MySQL они не требуются. Сделать это можно в разделе «Веб-сервер» -> «Управление модулями» панели управления хостингом. Для просмотра полного списка модулей необходимо нажать в нижней части страницы на блок «Дополнительно».
Мы рекомендуем проверить следующие расширения модуля PHP, возможно часть из них не нужна для работы ваших сайтов:
Если вы не уверены, нужен ли для работы сайта тот или иной модуль, проанализировать влияние на работу сайта того или иного модуля можно, отключая их по одному и проверяя корректность работы сайтов.
2.2. Проанализируйте лог-файлы сайта
На хостинге в каталоге /var/log/ размещаются лог-файлы:
Просмотреть их можно при подключении к хостингу по SSH.
Скачать лог-файлы вы можете с помощью файлового менеджера панели управления.
Проверьте, пожалуйста, какие обращения были к сайту в моменты высокого потребления памяти.
Индексация сайта поисковыми роботами, особенно несколькими одновременно, скачок посещаемости вызывает рост потребления памяти.
Некоторые поисковые системы позволяют ограничить интенсивность запросов своих роботов в единицу времени. Информацию о данных настройках вы можете получить в документации этих поисковых систем.
2.3. Проверьте работу скриптов сайта со сторонними серверами
Если ваш сайт получает данные со сторонних сервисов, замедление их работы или недоступность может оказать влияние работу вашего сайта. Чем медленнее отвечает сторонний сервис, тем больше времени находятся в оперативной памяти процессы Apache.
2.4. Проанализируйте работу скриптов сайта и запросы к базе данных MySQL
Оптимизация скриптов должна быть нацелена на минимизацию использования оперативной памяти и времени, необходимого для выполнения скрипта. Те данные, которые обновляются редко, необходимо кэшировать.
Мы рекомендуем проконсультироваться с разработчиками сайта относительно оптимизации SQL-запросов. Чем быстрее выполняются запросы сервером баз данных, тем быстрее веб-сервер получит необходимые данные, сформирует ответ клиенту и освободит память.
Для просмотра запросов к базе данных, которые возникают при обращении к сайту, и времени их выполнения вы можете воспользоваться интерфейсом PHPMyAdmin, вкладка «Процессы».
Оптимизация запросов к БД должна сводиться к следующим результатам:
Все эти данные для каждого из запросов можно получить с помощью команды EXPLAIN:
http://dev.mysql.com/doc/refman/5.1/en/explain.html
2.5. Проанализируйте верстку сайта
Рекомендуем оптимизировать верстку сайта путем снижения количества загружаемых элементов.
Чем меньше запросов к серверу, тем меньше суммарное время обработки запросов и число запускаемых процессов веб-сервера, и, следовательно, ниже потребление памяти.
Когда у Вас просто хостинг, выбор инструментов ограничен до минимума. То что по сути можно сделать это включить компиляцию и установить, настроить Lesti_FPC(ссылку давали выше). Для общей скорости загрузки страницы еще поможет объединение JS и CSS и перенес их вниз документа. Снизите потребление памяти поможет кэширование которое на хостингах продается как опция за отдельную плату.
Меня интересует только снижение времени ответа сервера.
Cжатие gzip и кэширование в браузере на сервере включено. Я сам это настраивал в конфигурационном файле.
Скорость загрузки страницы это немного другая тема и здесь предлагаю на неё не отвлекаться.
A чем или как смотрите?
Ping у меня 30ms. Ничего такого не делал.
Задал в гугл "проверить время ответа сервера" так меня послали на сайт в котором надо регистрироваться. Регистрироваться не буду. Спамом завалят.
Время ответа сервера можно посмотреть в любом браузере открыв инструменты разработчика на вкладке"Сеть(Network)"
Так же
в Яндексе webmaster.***yandex.ru/server-response.xml
Вот тут можно массово сравнить с конкурентами seogadget***.ru/sitespeed
Чтоб спамом не заваливали можно завести отдельную почту для таких случаев
*** звездочки удалите, задолбал форум резать ссылки
Проверил на webpagetest.org, там не надо было регистрироваться.
Time to First Byte 255 ms
Это и есть "время ответа серера" то есть речь об этом?