Какие хорошие модули или системы для кеширования я могу использовать для уменьшения нагрузки на Apache на сервере EC2, на котором запущен PHP, и почему бы вам их выбрать?
Вот несколько популярных стандартных методов повышения скорости. Вы можете опробовать их в зависимости от вашей точной конфигурации:
Memcached - это универсальная система кэширования распределенной памяти, которая часто используется для ускорения динамических веб-сайтов, управляемых базой данных, путем кэширования данных и объектов в ОЗУ, чтобы уменьшить количество раз, когда необходимо читать внешний источник данных (например, базу данных или API). .
Varnish - это HTTP-ускоритель, разработанный для динамических веб-сайтов с большим содержанием контента. В отличие от других ускорителей HTTP, таких как Squid, который начал свою жизнь как кеш на стороне клиента, или Apache, который в первую очередь является исходным сервером, Varnish был разработан с нуля как ускоритель HTTP.
Page Speed - это инструмент и библиотека, которые определяют улучшения, которые можно внести в веб-сайты, чтобы уменьшить их время ожидания. mod_pagespeed автоматизирует применение этих правил на сервере Apache. HTML, CSS, JavaScript и изображения изменяются динамически в процессе веб-обслуживания, так что передовые методы, рекомендованные Page Speed, можно использовать без необходимости изменять способ обслуживания веб-сайта.
http://googlewebmastercentral.blogspot.com/2010/11/make-your-websites-run-faster.html
HBase - это нереляционная распределенная база данных с открытым исходным кодом, созданная по образцу Google BigTable и написанная на Java. Он разработан в рамках проекта Hadoop Apache Software Foundation и работает поверх HDFS (распределенная файловая система Hadoop), обеспечивая возможности, подобные BigTable, для Hadoop. То есть он обеспечивает отказоустойчивый способ хранения больших объемов разреженных данных.
Медленный запуск является частью стратегии контроля перегрузки, используемой 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 для поиска хороших клиентских оптимизаций для ваших страниц.