Назад | Перейти на главную страницу

Ускорение Apache и PHP

Какие хорошие модули или системы для кеширования я могу использовать для уменьшения нагрузки на Apache на сервере EC2, на котором запущен PHP, и почему бы вам их выбрать?

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

Memcached

Memcached - это универсальная система кэширования распределенной памяти, которая часто используется для ускорения динамических веб-сайтов, управляемых базой данных, путем кэширования данных и объектов в ОЗУ, чтобы уменьшить количество раз, когда необходимо читать внешний источник данных (например, базу данных или API). .

http://memcached.org/

Лаковый кеш

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

http://www.varnish-cache.org/

Mod_pagespeed

Page Speed ​​- это инструмент и библиотека, которые определяют улучшения, которые можно внести в веб-сайты, чтобы уменьшить их время ожидания. mod_pagespeed автоматизирует применение этих правил на сервере Apache. HTML, CSS, JavaScript и изображения изменяются динамически в процессе веб-обслуживания, так что передовые методы, рекомендованные Page Speed, можно использовать без необходимости изменять способ обслуживания веб-сайта.

http://googlewebmastercentral.blogspot.com/2010/11/make-your-websites-run-faster.html

HBase

HBase - это нереляционная распределенная база данных с открытым исходным кодом, созданная по образцу Google BigTable и написанная на Java. Он разработан в рамках проекта Hadoop Apache Software Foundation и работает поверх HDFS (распределенная файловая система Hadoop), обеспечивая возможности, подобные BigTable, для Hadoop. То есть он обеспечивает отказоустойчивый способ хранения больших объемов разреженных данных.

http://hbase.apache.org/

Чит на медленный старт

Медленный запуск является частью стратегии контроля перегрузки, используемой TCP, протоколом передачи данных, используемым многими Интернет-приложениями. Медленный старт используется в сочетании с другими алгоритмами, чтобы избежать отправки большего количества данных, чем сеть способна передать, то есть, чтобы избежать перегрузки сети.

http://blog.benstrong.com/2010/11/google-and-microsoft-cheat-on-slow.html

Ответ cwd отличный, просто добавьте кешер кода операции PHP (APC, eaccelerator, xcache), если обработка является тяжелой для PHP.

+1 к cwd за mod_pagespeed предложение.

Если ваша цель - снизить нагрузку на Apache, и если предположить, что Apache является демоном переднего плана, получающим HTTP-запросы (т. е. между пользователем и Apache нет кеша), вы должны уделять много внимания оптимизации на стороне клиента, в частности уменьшению веса страницы и уменьшению количества запросов, необходимых для загрузить страницу. mod_pagespeed будет делать многие из них «на лету», но поскольку это модуль Apache, он будет нести небольшую нагрузку на Apache только для выполнения этих оптимизаций.

Это максимизирует кеширование на стороне клиента с использованием заголовков истечения срока действия и т. Д. Без необходимости детальной настройки конфигурации Apache, что является преимуществом. Было бы хорошо выполнить некоторые другие оптимизации (объединение или объединение файлов CSS и Javascript для уменьшения количества каждого из них, необходимого для создания страницы, спрайтинг изображений CSS для уменьшения количества изображений, загружаемых на страницу) самостоятельно, чтобы уменьшить нагрузка на mod_pagespeed.

Вы можете посмотреть на инструмент Google Page Speed ​​(ссылка на то mod_pagespeed страница) и / или Расширение Yslow для Firebug Плагин Firefox для поиска хороших клиентских оптимизаций для ваших страниц.