Хорошее единственное решение для сервера для Magento?

https://blog.codinghorror.com/so-youd-like-to-send-some-email-through-code/

Вероятно, одно из лучших руководств с этой целью в данный момент

0
задан 4 March 2012 в 23:15
3 ответа

Я не могу придумать никакой причины (кроме намеренно плохой конфигурации), которая могла бы сделать вашу предложенную установку A. лучше или хуже, чем предложенная вами установка B.

У вас есть конкретная проблема, которую вы надеетесь решить, поставив Varnish перед Apache? Или Varnish перед nginx?

Если вы этого не сделаете, вы станете жертвой Cargo Cult Системное администрирование:

«Этот парень добился успеха, и он использует Varnish перед nginx и Apache, поэтому, если я использую Varnish перед nginx и Apache, я буду тоже успешно. "

Трафик редко прибывает так быстро, что у вас нет времени планировать, что с ним делать. У вас есть план, который привлечет такой объем трафика (скажем, Стивен Фрай пообещал, что напишет в Твиттере о ваш сайт, как только он заработает.) или вы просто очень оптимистичны? Если нет, просто подключите его к сети и работайте. Преждевременная оптимизация - корень всех зол. Вы будете у вас будет достаточно времени для оптимизации сайта, когда вы узнаете, как выглядит ваш трафик и где у вас узкие места.

Обычно лучше проще . Если вы можете отказаться от одной или двух из трех различных частей программного обеспечения для веб-обслуживания, вы Вы уже упоминали, что, вероятно, вы обнаружите, что использование ЦП и памяти на сервере значительно снизилось. Возможно, использование ЦП и памяти является вашими узкими местами.

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

  1. Следите за своими медленными журналами MySQL и настраивайте запросы и индексы, пока медленные запросы не исчезнут.
  2. Убедитесь, что вы установили правильно кэшируете заголовки.

tl; dr

Не беспокойтесь о трафике, пока он у вас не появится.

5
ответ дан 4 December 2019 в 11:07

Well, I'm not sure how anyone is reliably advising you without knowing ...

  1. Is this going to be for 1 store, or multiple stores (reselling)?
  2. What is the full exact server specification?
  3. What are your targets for traffic (hits, pageviews, bandwidth commitment)?
  4. Do customers predominately search or browse categories?

The advice we give to our customers ...

If you need to re-sell hosting

Nginx > Apache > PHP-FPM

That keeps .htaccess support for your customers, security (chroot/multiple php.inis) from PHP-FPM and static file performance from Nginx.

If it is just for you

Pound > Varnish > Nginx > PHP-FPM

This gives you SSL unwrapping from Pound, static and dynamic (ESI) caching from Varnish, un-cached static content from Nginx and dynamic content from PHP-FPM

If you've got no real experience with Varnish

Apache > PHP-FPM

The truth is that you can do a lot more damage than good with Varnish if you do not set it up properly (cached private sessions, unwanted cookie un-setting). The same applies to Nginx.

Have a read of this http://www.sonassi.com/knowledge-base/magento-kb/mythbusting/why-shouldnt-i-use-nginx-for-magento/

Oh and avoid tmpfs for anything, it doesn't increase performance.

Read these for a bit more information ...

  1. http://magebase.com/magento-tutorials/magento-session-storage-which-to-choose-and-why/comment-page-1/#comment-1986

My final advice, consult a professional - its money well spent.

1
ответ дан 4 December 2019 в 11:07

Прежде всего, я полностью согласен с ответом Ладададады, что ...

  • Преждевременная оптимизация - корень всех зол.
  • Чем проще, тем лучше, в основном

Нельзя не оптимизируйте, потому что вы могли бы получить больше трафика. Оптимизируйте, когда вам нужно оптимизировать, то есть когда вы испытываете пики трафика прямо сейчас ИЛИ когда вы определенно знаете, что будут большие пики трафика (например, из-за маркетинговых действий).

Самое главное: проанализируйте свою систему! Сделайте тесты до (и, конечно, после) ваших оптимизаций. Вы должны знать, что именно является вашим узким местом и что нужно оптимизировать.

А теперь, конкретная часть Magento ... :)

Хотя, если я придерживаюсь мнения Ладададады, вам не следует следовать только (другому ) Cargo Cult рекомендую установить Varnish.

Почему? Потому что стандартная установка Magento не очень быстрая без оптимизации. Ладно, это чертовски медленно.

Что делать, чтобы ускорить Magento:

  • Установить кеш APC
  • Использовать Memcached как быстрый бэкэнд Magento
  • Поместите файлы кэша Magento в RAM-диск (tmpfs)
  • Поместите Varnish перед программным обеспечением вашего веб-сервера (Apache или nginx, на самом деле не имеет значения, если вы используете Varnish) для кеширования статического контента и полных страниц (например, Fullpage Cache в Magento Enterprise)

Чтобы использовать Varnish эффективно, вы должны адаптировать Magento, чтобы полные страницы можно было кэшировать, а динамические части (например, виджет корзины) дополнительно загружались браузером клиента (с использованием JavaScript).

Для этого также доступен модуль: http: //www.magentocommerce. com / magento-connect / pagecache-powered-by-varnish.html

Тем не менее, я также рекомендую вам добавить как минимум 2 дополнительных сервера в вашу систему, если вы планируете значительно увеличить трафик.

Использование только одного сервер ... ну - идеальный SPOF (Single Point of Failure), о котором я могу думать. :) Использование нескольких серверов - это не только балансировка нагрузки и масштабирование. Речь идет о высокой доступности. Что произойдет, если ваш единственный сервер больше не сможет обрабатывать трафик / нагрузку? Да, он выйдет из строя, ваш магазин отключен, и огромное количество новых клиентов не смогут увидеть ваши хорошие товары - на самом деле они будут видеть некоторые уродливые сообщения об ошибках. Так что в основном ... вы будете изрядно облажались.

Прежде чем оптимизировать свой отдельный сервер для достижения максимальной производительности, вам действительно следует спланировать и настроить стратегию переключения при отказе.

Может всего два сервера? Каждый из них со стеком веб-приложений и базой данных? Или три сервера, ... два узла webapp и выделенный сервер базы данных? Лучше всего было бы 4, ... два узла webapp и 2 узла базы данных.

Неважно, как именно это будет выглядеть, ... но вы должны устранить единую точку отказа.

Желаю вам всех лучшее, ... (движение) боли роста - лучшие боли. ;)

2
ответ дан 4 December 2019 в 11:07

Теги

Похожие вопросы