Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

0 Пользователей и 1 Гость просматривают эту тему.
  • 45 Ответов
  • 3273 Просмотров
*

IPVitaliy

  • Захожу иногда
  • 66
  • 0 / 0
Re: Speed up
« Ответ #30 : 26.01.2014, 10:37:38 »
мой VDS

у вас псевдовыделенный сервер, это программная эмуляция, часть хостинговых компаний часто использует оверселлинг;
судя по вашей проблеме, в реале вычислительных ресурсов у вас меньше, чем на средненьком обычном хостинге.
для примера, сервер на вирт машине, 1гиг оперативки, 2.4 ггц, линь дебиан, категория с 1к товарами при одновременном подключении 50 искусственных юзеров (спец софт эмулирует стресс нагрузки) на данной сервере не дает и 15% нагрузки на систему.

меняйте ваш "сервак" на нормальный и проблема исчезнет!
*

Servelatin

  • Захожу иногда
  • 132
  • 1 / 0
Re: Speed up
« Ответ #31 : 27.01.2014, 12:54:18 »
у вас псевдовыделенный сервер, это программная эмуляция, часть хостинговых компаний часто использует оверселлинг;
судя по вашей проблеме, в реале вычислительных ресурсов у вас меньше, чем на средненьком обычном хостинге.
для примера, сервер на вирт машине, 1гиг оперативки, 2.4 ггц, линь дебиан, категория с 1к товарами при одновременном подключении 50 искусственных юзеров (спец софт эмулирует стресс нагрузки) на данной сервере не дает и 15% нагрузки на систему.

меняйте ваш "сервак" на нормальный и проблема исчезнет!

Спасибо за внимание к теме, но я честно сомневаюсь в Ваших домыслах. Если напишите как проверить, то обязательно воспользуюсь с последующим отчетом.
На данный момент, по предыдущему совету, поменял файл на my-innodb-heavy-4g.cnf и отключил в нём InnoDB - ибо мускуль падает каждые сутки с проблемой о неверном пароле (ISAM работает и хорошо, я правда не понимаю почему файл называется INNODB..может я опять накосячил. mysqltuner.pl показывает вообще все выключенные движки бд, при запросе SHOW ENGINES: всё окей).
Также поставил и настроил JotCache, что привело к скорости загрузки категорий с товаром в 1-2 секунды (если конечно из каши).

*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Speed up
« Ответ #32 : 27.01.2014, 14:25:33 »
Детский сад какой-то. Все что вы не понимаете описано в документации к продуктам, которыми вы пользуетесь.
Видимо вам еще предстоит понять, что день простоя магазина может стоить куда дороже, чем настройка сервера специалистом.
В случае сбоя и заказы потеряете и Яндекс с Гуглом сайт "полюбят".
*

Servelatin

  • Захожу иногда
  • 132
  • 1 / 0
Re: Speed up
« Ответ #33 : 27.01.2014, 14:27:48 »
Детский сад какой-то. Все что вы не понимаете описано в документации к продуктам, которыми вы пользуетесь.
Видимо вам еще предстоит понять, что день простоя магазина может стоить куда дороже, чем настройка сервера специалистом.
В случае сбоя и заказы потеряете и Яндекс с Гуглом сайт "полюбят".

я рад что развеселил Вас своим участием в форуме по решению проблем.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Speed up
« Ответ #34 : 27.01.2014, 18:23:50 »
можно попробовать переустановить MySQL, то есть удалить старую версию и поставить с нуля. при этом удалятся отдельные зависимости - нужно будет их переустановить. бывает слетает после апгрейда системы. бэкапы не забудьте сделать своих баз, если решите.
« Последнее редактирование: 27.01.2014, 18:35:23 от capricorn »
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Speed up
« Ответ #35 : 05.02.2014, 11:14:10 »
В общем тут на соседнем форуме, уж простите за ссылку, это тоже обсуждают: http://www.nulled.cc/threads/244883/#post-2236005
И как мне кажется, есть одна здравая идея.
Router у VirtueMart генерирует большое количество запросов и явно является узким местом. Проверьте у себя, с выключенным SEF Joomla и магазина VirtueMart просто летает. Это я и у себя тестировал и заметил, что даже официальное demo работает с выключенным SEF. http://demo.virtuemart.net/
Думаю нужно рыть в этом направлении.

там сейчас предлагается:
Цитировать
В свойствах системы кэширование не включаем, а в router.php VirtueMart в метод getCategoryRoute пихаем после
$cache = JFactory::getCache('_virtuemart','');

строку
$cache->setCaching( 1 );

Таким образом включаем принудительный кэш для ссылок
Это помогло нам скэшировать урлы категорий, таким образом я уменьшил кол-во запросов на 300... при редактировании категории кэш обновляется

Я так понимаю, это задействует кешь, даже если кеширование отключено в Joomla или для авторизованных.
« Последнее редактирование: 05.02.2014, 11:23:19 от ChaosHead »
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Re: Speed up
« Ответ #36 : 06.02.2014, 17:11:22 »
Экспериментирую, отпишусь.
Не отписались. Можете и не отписываться раз лень, но дайте ссылку на сам сайт тогда.
*

Servelatin

  • Захожу иногда
  • 132
  • 1 / 0
Re: Speed up
« Ответ #37 : 06.02.2014, 17:28:14 »
Не отписались. Можете и не отписываться раз лень, но дайте ссылку на сам сайт тогда.
Следуйте сообщение за сообщением и увидите результаты. Работы действительно много, но мне не лень. На данный момент я перестал продолжать оптимизацию, т.к. магазин открыт и работает.
Мой итог таков:
1) настроил VDS (в итоге я прибег к платным услугам, о чем нисколько не жалею (слышишь ChaosHead!!))
2) установили nginx
3) настроил jotcache
4) пробовали ставить xcache, но появились баги
5) порезал картинки до не приличного

В сумме чем больше людей на сайт я получу, тем меньше проблем испытаю с нагрузкой, чем я сейчас и занимаюсь.
Я не буду выкладывать линк, см. личку.
*

Максим Пишняк

  • Давно я тут
  • 837
  • 35 / 0
Re: Speed up
« Ответ #38 : 07.02.2014, 01:13:57 »
нет, вы не отписались именно по тому пункту, на который вы обещали отписаться
а может все таки понять откуда столько запросов? 15  запросов на один товар. может их модули генерят? повыключайте все - оставьте только вывод компонента, включите дебаг и смотрите что за запросы
что если выключить фильтр

не смог углядеть, у вас слева стандартный модуль категорий или нет
если да, то модифицирован ли он,
какова его версия - та же 2.0.26?

если только компонент оставить, то сколько запросов
в дебаге, как говорил beagler, что вполне можно убрать, как думаете?

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

со всеми выключенными модулями и на стандартном шаблоне Joomla страница магазина сколько запросов дает, интересно же


правая панелька закладок прячется под картинки правых товаров на странице категорий (для узкого разрешения монитора) - z-index поправьте
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Speed up
« Ответ #39 : 10.02.2014, 23:09:05 »
Емае, пришел сюда в поисках мудрых советов, а оказывается что все как-то глухо с оптимизацией 2.x )

В общем тут на соседнем форуме, уж простите за ссылку, это тоже обсуждают:
..............
Я так понимаю, это задействует кешь, даже если кеширование отключено в Joomla или для авторизованных.

Совершенно верно, я поправил и добавил кое что там, скину инфу и сюда.

Пациент - интернет магазин. Штук 200 категорий, пару тысяч товаров. На главной пару слайдеров товаров, меню категорий.
До доработок - 1000 запросов на главной. "АААА!" - подумал я - "это очень неразумно!" )))

Начал оптимизировать. С указанным кэшированием ссылок и выборочным кэшированием слайдеров и производителей получил 200-220 запросов. Понятное дело, когда кэш обновляется (я поставил раз в 30 минут), можно "словить" и 600  запросов - благо он обновляется не весь сразу )

плагин "System - кэш" должен быть ВЫКЛЮЧЕН.


Нашел способ как кэшировать результаты работы функций - дебаг показывает уменьшение запросов, в папке /cache/ создаются и обновляются раз в 15 мин нужные файлики...

например закэшировал вывод модуля "производителей":
пошел в файл
modules\mod_virtuemart_manufacturer\mod_virtuemart_manufacturer.php

находим там обычные строки

$manufacturers = $model->getManufacturers(true, true,true);
$model->addImages($manufacturers);

т.е. мы как бы присваиваем переменной $manufacturers результат выполнения метода getManufacturers и пихем картинки туда методом addImages.
Неплохо бы не дергать эти методы постоянно - производители же не меняются каждую минуту, верно?

вставил перед вышеуказанными строками:
Код:

$cache = JFactory::getCache('virtuemart_frontend_manufacturers', ''); // понятное название директории с кэшем
$cache->setCaching( 1 ); // принудительно включаем кэширование
$key = 'virtuemart_frontend_manufacturers' ; // уникальный ключ кэша - тут можно вязать ID модуля и т.п. но у меня модуль один и на главной - поэтому я не заморачивался - у меня уникальным является и "virtuemart_frontend_manufacturers"

вместо вышеуказанных строк -
Код:

if (!($manufacturers = $cache->get($key))) {  // если короче в кэше не нашли наших производитлей
   $manufacturers = $model->getManufacturers(true, true,true); // таки вызываем методы
   $model->addImages($manufacturers); // и картинки тоже пихаем
   $cache->store($manufacturers, $key); // ну и сохраняем в кэш нашу переменную под уникальным кеем
}

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

Да, у меня отчего-то начал пихаться кэш страниц в папку /cache/pages/ и как результат начали кэшироваться всякие ненужности типа корзины и т.п. - то из-за чего я решился на правку кода и тонкие эксперименты
я решил пока проблему заглушкой, поставив права "444" на эту папку
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Re: Speed up
« Ответ #40 : 10.02.2014, 23:20:26 »
Все это конечно очень интересно, как и не секрет ни для кого, что VM характерен большим количеством запросов к БД. Это бесплатный компонент, и не надо требовать от него быстродействия на virtual shared hosting.

У ТС RAM неплохой. 4 GB RAM это уже серьезно, и что может этому помешать в отношении VM? Я отключил Joomla system cache plugin вообще, так как кэшируется все фреймворком Yootheme.

Здесь речь идет о настройке MySQL и сервера. Выставили права 444 - к чему это, чтобы веб-сервер не писал в файл

У меня на Centos6 одна проблема, в Mozilla очень долго грузятся js отдельные модули VM. В других браузерах -1, 2 секунды.
« Последнее редактирование: 10.02.2014, 23:35:14 от capricorn »
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Speed up
« Ответ #41 : 11.02.2014, 15:55:55 »
Выставили права 444 - к чему это, чтобы веб-сервер не писал в файл

Искать мощный серв или пытаться повысить быстродействие MySQL колдуя с настройками, так и оставив 1000 запросов на страницу - это расточительство ресурсов, не иначе. У нормального программиста который работает с базами данных, от 1000 запросов на страницу волосы на спине зашевелятся ) несмотря на всю нашу благодарность создателям виртумартышки )
Права 444 поставил именно чтоб кэш страниц не создавался. Видимо выставляя принудительно $cache->setCaching( 1 );  Joomla начинает таки писать что-то в /page/ что вызвало у меня ненужное кэширование меню.
*

sigmalion

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Speed up
« Ответ #42 : 13.02.2014, 13:24:34 »
Не знаю что там у тебя за сервер.
На обычном хостинге стоит у меня магазин, на борту 20к+ товаров.
Средняя загрузка страницы 2 сек (по причине модуля меню, который сейчас как раз модернизирую, чтобы уменьшить время загрузки еще)
На странице выводится модуль меню и макс до 70 товаров.
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Speed up
« Ответ #43 : 20.02.2014, 13:31:02 »
Вот что еще по поводу кэширования нарулил

Можем не боясь кэшировать какой-то модуль с выключенным общим кэшем, если он нам дорог ) Например у меня модуль оформленный как слайдер товаров в сайдбаре - mod_virtuemart_product - жрал огогошечки, и было решено его кэшануть) Показываю на примере mod_articles_latest

Тот код что мы хотим кэшировать, запилим между

Код
/* принудительный кэш */
$mycache = JFactory::getCache('mod_articles_latest', 'output');
$mycache->setCaching( 1 );
$key = $params->get('count').$params->get('moduleclass_sfx').'mod_articles_latest'; // тут делаем уник. ключ для нашего кэша
if (!($output = $mycache->get($key))) {
ob_start();
/* принудительный кэш */

Output который надо кэшировать

Код
/* принудительный кэш */
$output = ob_get_clean();
$mycache->store($output, $key);
}
echo $output;
/* принудительный кэш */


Для данного модуля этим кодом который мы обернули, является
Код
require_once dirname(__FILE__).'/helper.php';
$list = modArticlesLatestHelper::getList($params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));

require JModuleHelper::getLayoutPath('mod_articles_latest', $params->get('layout', 'default'));
т.е. по сути почти весь код модуля )))
Настраивая таким образом выборочное кэширование и обрезав customfields в просмотре КАТЕГОРИИ (там они не выводятся у меня) - это очень важно, сразу падает нагрузка, сократил кол-во запросов главной с 1060 до 28, а категорий - с 1000-2000 до  до 150-300 в зависимости от кол-ва товаров

Будем думать дальше как оптимизировать)
*

Servelatin

  • Захожу иногда
  • 132
  • 1 / 0
Re: Speed up
« Ответ #44 : 20.02.2014, 13:40:54 »
Обрезание customfields в категории является действенным хаком, но к юзабилити магазина это даёт огромный минус.
*

artserge

  • Захожу иногда
  • 118
  • 11 / 0
Re: Speed up
« Ответ #45 : 20.02.2014, 18:09:30 »
Обрезание customfields в категории является действенным хаком, но к юзабилити магазина это даёт огромный минус.
а много ли покупателей кладут товар в корзину не глядя в карточку, выбрав вариант сразу? Не выключать кастомфилды можно если в листинге категории выводить характеристики товара автоматом, но даже в таком случае можно порезать абсолютно не нужные здесь рекомендуемые товары и рекомендуемые категории, не так ли?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться