Хорошо ли иметь Memcache, APC и Varnish на серверах LAMP
У меня есть 3 веб-сервера, которые мне нужно оптимизировать. В настоящее время у меня чуть больше 2000 уникальных посетителей в день, и я хочу улучшить производительность на своих серверах, чтобы убедиться, что когда я получу больше трафика, все будет работать нормально.
Я читал (в некоторых блогах) APC, memcache и Varnish были лучшими инструментами для оптимизации производительности веб-сайтов.
Хорошо ли использовать ВСЕ три одновременно, если у меня есть статическая (например, страница условий и условий) и динамическое содержимое (страница настроек пользователя)?
Большое спасибо, J.
Ответы
Ответ 1
Количество посетителей в день на самом деле ничего не значит, это пики, которые вас убивают. Если все 2000 обращений в день заходят за одну минуту, вы можете столкнуться с проблемами, но если они будут равномерно распределены в течение дня даже на высоко вычислительном веб-сервере, у вас не должно быть много проблем.
Независимо от того, если вы хотите масштабировать, Varnish, вероятно, поможет вам, поскольку он позволяет вам настроить кеширование на стороне клиента, которое так же эффективно, как вы можете получить, поскольку оно ограничивает объем взаимодействия с вашим сервером.
APC и memcache являются резервными моментами, когда Varnish не может выполнить результат. APC ускорит ваш PHP. memcache позволяет вам делать что-то вроде захвата некоторых сложных данных из вашей базы данных для пользователя и затем обслуживать кешированную версию этих данных для пользователей в течение следующих x минут/дней/недель. Это может иметь огромное значение, если у вас есть какие-то трудоемкие запросы.
Изменить: я хотел попробовать Cloudflare CDN некоторое время и после этого я должен был вернуться и порекомендовать его. У них есть бесплатный аккаунт (который я использую), и его настройка довольно проста, если вы знаете, как изменить записи DNS. Из всех упомянутых технологий это, вероятно, будет лучшим первым шагом, который вы можете предпринять для ускорения вашего сайта. Просто, чтобы вы знали, что у меня нет акций Cloudflare или что-то в этом роде, но я серьезно их рассматриваю.:)
Ответ 2
комбинация всех 3 полезна, но использует их для разных вещей:
Лак: может кэшировать статический контент и доставлять его очень быстро (уменьшая нагрузку на apache)
APC: сохраняет код операции php, так что вызовы, обрабатываемые php, быстрее
Memcache: используйте в качестве временного хранилища данных для своего приложения, чтобы уменьшить количество вызовов на ваш db (обычно это узкое место).
если у вас есть время на ваших руках, пойдите для него со всеми 3 в следующем порядке:
APC (быстрый запуск и запуск)
Лак (требуется немного конфигурации, но он стоит того, чтобы статические страницы)
Memcache (код меняется, чтобы использовать его, поэтому, очевидно, требуется больше мысли и времени)
Ответ 3
APC поможет с любыми страницами PHP, а Memcached поможет, только если вы используете его явно. Я никогда не использовал Лак, поэтому я ничего не знаю об этом.
Редактировать: Лак может кэшировать как статические, так и динамически сгенерированные файлы для повышения производительности.
Ответ 4
Все трое могут многое помочь - но 2000 посетителей в день действительно не так много.
Поскольку APC так легко вставить в систему LAMP, я бы разместил ее там (и для моего собственного сайта, и это может привести к 5 посетителям в день), но не беспокоиться о других, если у вас не было что требовало дополнительного эффекта, такого как гораздо большее количество посетителей, или сотни гигабайт загрузки изображений/видео.
Memcache также потребует некоторого активного использования помимо базовой конфигурации (или, по крайней мере, с использованием плагина, который использовал его надлежащим образом, для Wordpress или какого-либо другого готового программного обеспечения) - просто установка программного обеспечения ничего не делает.