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

Это проблема с задержкой или что-то еще?

У меня, как мне кажется, проблема с задержкой. У меня есть установка magento на общем хосте. Я знаю, что лучше всего запускать magento на выделенном сервере, но это только начало, и это хороший хостинг. Когда я открываю первую страницу и проверяю ее на вкладке net в chrome, сама страница (т.е. основной файл, полученный первым) загружается намного дольше, чем я ожидал ... в среднем около 3 секунд. Когда я присмотрелся, то заметил, что «отправлял» пару миллисекунд, «ждал» больше 2,5 или трех секунд, а затем «принимал» всего около пятидесяти мс. Это проблема с задержкой?

Ваша проблема не в задержке - это просто медленный сайт. Задержку можно быстро измерить с помощью быстрого пинга:

ping www.myslowsite.com 

Ваша проблема - время до первого байта (TTFB), в результате чего ваш сервер не генерирует ответ очень быстро, и в результате ваш браузер ждет, пока он не появится.

Т.е. Если вы создали сценарий PHP со следующим:

<?php 
  sleep(10);
  echo "Hello World!";

Тогда ваш TTFB будет 10 секунд.

Итак, ваша проблема будет двоякой.

  1. Вы не используете специализированный веб-хостинг Magento с действительно оптимизированной для Magento средой.
  2. Ваш шаблон / расширения Magento заставляют страницу загружаться дольше

Решение?

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

Единственный точный способ подтвердить, есть ли у вас проблемы с задержкой, и я предполагаю, что вы говорите о сетевой задержке, - это выполнить трассировку с помощью чего-то вроде wirehark. Вы можете использовать на клиенте такие инструменты, как ProcessMonitor SysInternals, чтобы увидеть, что происходит на более высоком уровне, но старый добрый файл Wireshark .CAP не может быть побежден.

Что касается производительности сервера, вам нужны метрики. Слишком часто мы слышим, что приложению требуется шестиядерный процессор Xeon с 32 ГБ ОЗУ и множеством шпинделей по 15 КБ. Затем вы фактически запускаете зверя, чтобы обнаружить, что требуется только ОЗУ, и у вас остается шесть ядер, работающих с 8% загрузкой, и очень мало интенсивного дискового ввода-вывода. Просто у меня еще один момент с мыльницей, извините!

Итак, на вашем сервере посмотрите, если:

o Диски помещены в очередь запросов o ЦП перегружены o Использование памяти в порядке, и подкачка не выполняется

Я не эксперт по MySQL (на самом деле я новичок в MySQL), но я не знаю, много ли в нем параметров конфигурации, как Oracle. Стоит взглянуть. Я думаю о закреплении страниц базы данных в памяти для повышения производительности. Это сработает только в том случае, если у вас вообще есть свободная оперативная память.

Убедитесь, что все ваше кеширование включено в Magento. Таким образом, первая загрузка будет медленной, но поскольку все xml / config кэшируются, она будет быстрее.

Первая загрузка происходит сразу после очистки кеша. В любом случае Magento будет работать довольно медленно на виртуальном хостинге. Для быстрой работы требуется довольно большое оборудование.