Перейти к содержимому


Фотография
- - - - -

Оптимизация Joomla+JBZoo


Сообщений в теме: 13

#1 Likur

Likur

Отправлено 25 March 2016 - 14:19

Добрый день.
 
Очередной топик по оптимизации Joomla+JBZoo.
 
У меня жутко тормознутый сайт. Он так тормозит, что я уже даже не знаю, что с ним делать. 
 
Хостинг на REG.RU, VPS (1 ядро + 2Гб ОЗУ). Вроде нормальный хостинг.
 
Сразу оговорюсь, что про оптимизацию css, js, Gzip-сжатие, кэширование в браузере, минификацию и конкатенацию js/css/html и т.д. это я уже всё понял. Провёл не один тест в Google PageSpeed и YSlow. Это всё мне понятно. Как и что делать и в чём проблема. Проблема в другом.
 
Я понаблюдал за работой сервера и пришёл к выводу, что наибольшую нагрузку создают php или mysql. Я понимаю, что это не удивительно и оно так и есть. НО, есть одно но. Это соразмерность и масштабность. 
 
При 10 одновременных активных посетителях на сайте, у меня Load average: 7.6 6.2 5.4. И сайт еле открывается. Если посидеть и понаблюдать за работой утилиты top, то как только запускается процесс от php или mysql, то показатель CPU взлетает до 8.0-24.0 (при желательной верхней границе у меня 0.7, т.к. процессор одноядерный).
 
Сейчас посещаемость на сайте очень маленькая. Где-то 200-300 человек в сутки. Но планируется до 10 000. С такими раскладами по нагрузке мне нужен будет сервер на 100 ядерном процессоре.
 
Кстати, если запускаются процессы от httpd, то нагрузка на проц почти нулевая.
 
Подскажите как быть? С чего начинать? Что можно убрать/отключить/пропатчить/оптимизировать?

  • 0

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 25 March 2016 - 15:32

 

 

Сейчас посещаемость на сайте очень маленькая. Где-то 200-300 человек в сутки. Но планируется до 10 000. С такими раскладами по нагрузке мне нужен будет сервер на 100 ядерном процессоре.

 

не не...

Xeon E3-1270v3 (3.5 GHz) 16GB RAM 240GB SSD HDD IPMI

ну и аналогичные :)

 

253028.png
 
+ должен держать в разы больше.
 
253114.png
 
Все зависит от оптимизации сервера - ну и конечно же проц в сервере должен быть норм, т.к. Денис говорил когда-то.
 
cxv.png
 

Сообщение отредактировал CB9TOIIIA: 26 March 2016 - 08:41

  • 0

#3 CB9TOIIIA

CB9TOIIIA

Отправлено 25 March 2016 - 15:57

Можете попробовать: http://forum.jbzoo.c...zku-na-bd-i-fs/
 
Но там много "кастраций" + если не ИМ (новостник например)

 


  • 0

#4 Likur

Likur

Отправлено 29 March 2016 - 15:57

Добрый день!

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

 

Но там много "кастраций" + если не ИМ (новостник например)

 

1. Что значит "кастраций" и "ИМ"? Допустим для сайта с объявлениями подойдёт такое решение?

 

2. Я так понимаю, что в ZOO и JBZoo есть какое-то встроенное кэширование. У меня до установки плагина Cache Homepage в корне диска в папку "cache" валился кэш в три подпапки: "com_zoo", "jbzoo", и "widgetkit". После установки плагина Homepage появилась ещё одна - "page". Насколько я понимаю именно в неё и кэштруются старницы. Но! Кэшируются они не только в папку "page", а продолжают кэшироваться изображения в папку "cache/com_zoo/images".

Так вот я не пойму. Мы в таком случае имеем задвоение кэша или нет? Можно ли как-то отключить внутренний зушный кэш или нельзя? Будет ли какой-то в этим смысл. Ибо моя папка "cache" за последние сутки прибавила в весе на 800 мб. Если она такими темпами будет пухнуть и дальше, то смысл в таком кэшировании. При такой системе дискового пространства не наберёшься...


3. Если у меня на сервере настроенно Gzip сжатие в Nginx, оно взаимоисключает работу плагина Cache Homepage или дополняет его?

4. По оптимизации непосредственно JBZoo. Я не большой гуру, поэтому поправьте меня если я что-то не так скажу.

* У меня в настройках JBZoo куча неиспользуемых типов материалов (Автор, Карточка компании, Блог и т.д. + куча моего дополнительно). На сайте реально используется только один тип. Если я их все удалю, ну или частично, это как-то поможет производительности? Повлияет на колличество запросов? Может это влечёт за собой дополнительные проверки какие-то при рендеренге страницы.

* В системе много отключённых модулей. Они влияют на производительность? Может их лучше удалить?

* Та же картина с плагинами. Есть некоторое  колличество не задействованных плагинов, которые висят в системе по принципу "а может пригодится". Если их удалить жить станет легче? :)


  • 0

#5 Likur

Likur

Отправлено 29 March 2016 - 16:22

И ещё один, не маловажный вопрос. Cache Homepage влияет на показ рекламы на сайте. Например от Google AdSense?


  • 0

#6 CB9TOIIIA

CB9TOIIIA

Отправлено 29 March 2016 - 16:28

И ещё один, не маловажный вопрос. Cache Homepage влияет на показ рекламы на сайте. Например от Google AdSense?

 

Нет, т.к. js - динамически же подтягивается - он делает просто копию HTML страницы.


Добрый день!

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

 

 

1. Что значит "кастраций" и "ИМ"? Допустим для сайта с объявлениями подойдёт такое решение?

 

2. Я так понимаю, что в ZOO и JBZoo есть какое-то встроенное кэширование. У меня до установки плагина Cache Homepage в корне диска в папку "cache" валился кэш в три подпапки: "com_zoo", "jbzoo", и "widgetkit". После установки плагина Homepage появилась ещё одна - "page". Насколько я понимаю именно в неё и кэштруются старницы. Но! Кэшируются они не только в папку "page", а продолжают кэшироваться изображения в папку "cache/com_zoo/images".

Так вот я не пойму. Мы в таком случае имеем задвоение кэша или нет? Можно ли как-то отключить внутренний зушный кэш или нельзя? Будет ли какой-то в этим смысл. Ибо моя папка "cache" за последние сутки прибавила в весе на 800 мб. Если она такими темпами будет пухнуть и дальше, то смысл в таком кэшировании. При такой системе дискового пространства не наберёшься...


3. Если у меня на сервере настроенно Gzip сжатие в Nginx, оно взаимоисключает работу плагина Cache Homepage или дополняет его?

4. По оптимизации непосредственно JBZoo. Я не большой гуру, поэтому поправьте меня если я что-то не так скажу.

* У меня в настройках JBZoo куча неиспользуемых типов материалов (Автор, Карточка компании, Блог и т.д. + куча моего дополнительно). На сайте реально используется только один тип. Если я их все удалю, ну или частично, это как-то поможет производительности? Повлияет на колличество запросов? Может это влечёт за собой дополнительные проверки какие-то при рендеренге страницы.

* В системе много отключённых модулей. Они влияют на производительность? Может их лучше удалить?

* Та же картина с плагинами. Есть некоторое  колличество не задействованных плагинов, которые висят в системе по принципу "а может пригодится". Если их удалить жить станет легче? :)

 

1. Думаю да - хотя насчет корзины и прочего не очень уверен - хотя можно попробовать задать маску верную (regexp)

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

3. Думаю не стоит включать в плагине, nginx думаю верно работает.

4. Думаю пофигу. )) не будет прироста.


  • 0

#7 Likur

Likur

Отправлено 30 March 2016 - 12:32

Что-то я всё равно до конца не понял.

 

 

1. Думаю да - хотя насчет корзины и прочего не очень уверен - хотя можно попробовать задать маску верную (regexp)

 

 

Так что же всё таки такое "кастраций" и "ИМ"?

 

 

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

 

 

Можно немного подробнее? Это как? Каким образом вы кладёте изображения в не кэшированную паку? У меня они тоже лежат в не кэшированной паке. Все изображения лежат в images/... (в подпапках). Но при рендеренге страницы они кэшируются автоматом в папку "cache/com_zoo/images". Я сам ничего не настраивал. У меня оно так работало изначально. Это можно как-то отключить? Потому, что постоянно мослать в кэш изображения, которые и так кэшируются Nginx-ом на стороне сервера... Короче говоря вот этот момент я не до конца пойму.

 

 

3. Думаю не стоит включать в плагине, nginx думаю верно работает.

 

 

Вот тут, к сожалению, вообще не понял. Вы хотите сказать, что если у меня настроенно Gzip-сжатие в Nginx, то смысла плагине Cache Homepage нет? Или как?

 

У меня уже от этих "кэшей" голова кругом! У меня такое ощущение, что они везде) Nginx на стороне сервера кэширует, ZOO кэширует, JBZoo кэширует, Cache Homepage кэширует, тэмплейт Joomla кэширует (у меня нет), в самой Joomla, в конце-концов можно включить кэширование (у меня нет отключено). Я не сильно крутой спец, поэтому не могу понять вообще экосистему этого кэширования!!!

 

Самое прискорбное в этом, так это то, что сайт как тупил, так и тупит. Страницы открываются по 2-10 секунд и постоянно отваливаются.

 

Подскажите плиз, что делать.


  • 0

#8 CB9TOIIIA

CB9TOIIIA

Отправлено 30 March 2016 - 15:12

1.Кастрация - частичная урезка функциональной части.

ИМ - интернет магазин - и возможно урезка будет несовместимой с корзиной и т.п.

 

2. Легко По поводу миниатюр:

Советую в файле administrator\components\com_zoo\helpers\zoo.php

$cacheFolder = '/cache/com_zoo/images/'; // относительный путь для миниатюр

В версии 2.2.1 изменена на папку: 

$subfolder   = substr($path, 0, 1);
		$cacheFolder = '/images/jimg/'; // относительный путь для миниатюр
		$thumbfile   = JPath::clean(JPATH_ROOT . "{$cacheFolder}/{$subfolder}/{$path}." . $file_info['extension']);

http://forum.jbzoo.c...zku-na-bd-i-fs/

 

3. Просто проверить хэдэри - nginx делает gzip или нет - если делает - все ОК.

 

Home Page Cache - во всяком случае просто делает копию всей страницы и ложит этот html в кеш и его отображает по time.


  • 0

#9 Likur

Likur

Отправлено 30 March 2016 - 15:39

А можно как-то в этом Home Page Cache исключить конкретную страницу из кэширования? У меня на сайте стоит форма заказа (RSForm!). Так вот при отправке формы само сообщение отправляется, а пользователю сообщение, что форма отправлена успешно, не показывается. Просто снова показывается форма. Вроде как ничего и не произошло.


  • 0

#10 CB9TOIIIA

CB9TOIIIA

Отправлено 30 March 2016 - 15:43

 

 

А можно как-то в этом Home Page Cache исключить конкретную страницу из кэширования? 

 

Не помню - вроде нет - но есть приоритеты кеширования - может эта опция поможет.

Пф... такое с RSFORM - легко - Написать 3 строки на JS и все - как вариант.


  • 0




Click to return to top of page in style!