Хорошо ли иметь Memcache, APC и Varnish на серверах LAMP? - PullRequest
16 голосов
/ 09 сентября 2011

У меня есть 3 веб-сервера, которые нужно оптимизировать. В настоящее время у меня чуть более 2000 уникальных посетителей в день, и я хочу улучшить производительность своих серверов, чтобы быть уверенным, что когда я получу больше трафика, все будет работать гладко.

Я читал (в некоторых блогах) APC, memcache и Varnish были лучшими инструментами для оптимизации работы веб-сайтов.

Хорошо ли использовать ВСЕ три одновременно, если у меня есть статическое (например, страница условий и положений) и динамическое содержимое (страница пользовательских настроек)?

Большое спасибо, Дж.

Ответы [ 4 ]

20 голосов
/ 09 сентября 2011

Количество посетителей в день на самом деле ничего не значит, это пики, которые убивают вас.Если все 2000 обращений в день выполняются за одну минуту, то у вас могут быть проблемы, но если они равномерно распределены в течение дня даже в высокопроизводительном веб-приложении, у вас не должно быть особых проблем.

Независимо от тогоЕсли вы хотите масштабировать, Varnish, вероятно, поможет вам больше всего, поскольку он позволяет вам настроить кэширование на стороне клиента, которое будет настолько эффективным, насколько это возможно, поскольку оно ограничивает объем взаимодействия с вашим сервером.

APCи memcache - это запасной вариант, когда Varnish не может дать результат.APC ускорит ваш PHP.memcache позволяет вам делать такие вещи, как сбор некоторых сложных данных из вашей базы данных для пользователя, а затем предоставление пользователям кэшированной версии этих данных в течение следующих x минут / дней / недель.Это может иметь огромное значение, если у вас есть длительные запросы.

Редактировать : Я хотел попробовать Cloudflare CDN некоторое время, сейчас и послепри этом я должен был вернуться и рекомендовать это.У них есть бесплатная учетная запись (которую я использую), и ее настройка довольно проста, если вы знаете, как изменять записи DNS.Из всех упомянутых технологий это, вероятно, будет лучшим первым шагом, который вы можете предпринять для ускорения вашего сайта.Просто чтобы вы знали, что у меня нет акций Cloudflare или чего-то подобного, но я серьезно об этом думаю.:)

8 голосов
/ 15 сентября 2011

комбинация всех 3 полезна, но используйте их для разных целей: Varnish: может кешировать статический контент и доставлять его очень быстро (снижая нагрузку на apache) APC: хранит код операции php, так что вызовы, которые обрабатываются php, быстрее Memcache:используйте в качестве временного хранилища данных для вашего приложения, чтобы уменьшить количество обращений к вашей базе данных (обычно это узкое место в базе данных)

, если у вас есть время, используйте все 3 в следующем порядке: APC (быстрыйдля запуска и работы) Varnish (требуется немного конфигурации, но оно того стоит для статических страниц) Memcache (изменения кода для его использования, поэтому, очевидно, требуют больше времени и усилий)

1 голос
/ 09 сентября 2011

APC поможет с любыми страницами PHP, а Memcached поможет, только если вы используете его явно.Я никогда не использовал Varnish, поэтому ничего об этом не знаю.

Редактировать: Varnish может кэшировать как статические, так и динамически генерируемые файлы для повышения производительности.

0 голосов
/ 09 сентября 2011

Все три могут помочь, но 2000 посетителей в день не так уж и много.

Поскольку APC очень легко внедрить в систему LAMP, я бы включил ее туда (и имел бы для своего собственного сайта, и это могло бы получить 5 посетителей в день), но не беспокоился о других, если у вас не было некоторых Такая проблема требует дополнительных усилий, таких как увеличение количества посетителей или сотни гигабайт загрузок изображений и видео.

Memcache также потребует некоторого активного использования помимо базовой конфигурации (или, по крайней мере, с использованием плагина, который использовал его соответствующим образом, для Wordpress или другого стандартного программного обеспечения) - простая установка программного обеспечения вообще ничего не делает.

...