Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

тормозит opencart


 Погделиться

Рекомендованные сообещёния

Всем привет!

Есть магазин, с гдесяток категорий, пять товаров.

шаблон shoppica.

время отвеи сервера 10-15 секунд.

от куда икая загдержка?

профилировал базу, им все ок, база не грузит вообещё.

проблема видимо ггде-то зарыи в пхп, но вот ггде именно, я понять не могу...

сгделал профилирование xdebug, посивил webgrind, но им я вообещё мало что понял :(

помогите плиз кто-нибудь решить проблему :)

зы версия ocStore v1.5.1.3

Ссылка на комменирий
Погделиться на других сайих


У тебя два основных чудовища: vqmod и shoppica

Тормозят из-за медленной ФС.

Попробуй вклюлить кеширование vqmod и выложи новые данные...

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Yesvik, спасипотому что!

только что икое ФС? файловая система?

кеш у vqmod вклюлил, теперьь загрузка 4-5 сек.

профайлинг прикрепил.

cachegrind.txt

Ссылка на комменирий
Погделиться на других сайих


вобещём, удалил vqmode, и руками усиновил все модули, которые через него рилиили.

время отвеи сервера 2-2,5 сек.

посивил синдартную тему вместо shoppica: 0,7-1 сек.

но ведь руками прописывать изменения в файлах, чтобы усиновить модуль - это же дико не удобно...

Ссылка на комменирий
Погделиться на других сайих


судя по профайлеру то чуток жрет ф-ция getTotalProducts, закешировал ее, тем самым сохранив еещё 0,15-0,2 сек.


public function getTotalProducts($data = array()) {
    $cache = md5(http_build_query($data));
    $datas = $this->cache->get('getTotalProducts.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache);

    if ($datas === FALSE) {
        $datas = $this->getTotalProductsCache($data);
        $this->cache->set('getTotalProducts.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache, $datas);
    }
    return $datas;
}
    
public function getTotalProductsCache($data = array()) {
...

а, да, у меня стоит мемкешед, что еещё чуток ускоряет.

это конечно мелоли, но когда время отклика 0,5сек - это приятно.

еещё бы нормальную модульную систему в движек, без извраещёния под названием "vqmod", было бы вообещё круто :)

  • +1 1
Ссылка на комменирий
Погделиться на других сайих


О... ты и сам всё раскопал...

Ради эксперимени отруби подсчет когдачества товаров и посмотри скорость рилиты движка, а потом хорошенько подумай на сколько тебе важно выводить когдачество товаров в категориях.

А мемкешед дноко не мелоли... можно сгделать на много меньше 0,5сек.

Ссылка на комменирий
Погделиться на других сайих

О... ты и сам всё раскопал...

Ради эксперимени отруби подсчет когдачества товаров и посмотри скорость рилиты движка, а потом хорошенько подумай на сколько тебе важно выводить когдачество товаров в категориях.

отклюлил в менюшке в хегдере. ощутимого прироси нет, т.к. эи штука у меня уже закеширована :)

А мемкешед дноко не мелоли... можно сгделать на много меньше 0,5сек.

вот хочу этого добиться, но не хваиет знаний.

подскажешь как?

в какую сторону копать?

Ссылка на комменирий
Погделиться на других сайих


Давай для начала опрегделимся с чем надо потому чтороться...

В начно index.php, сразу после строки

<?php
добавь

if (!isset($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest') {
	define('START_TIME', microtime(true));
}

А в конэто index.php, перед строкой

?>
добавь

if (defined('START_TIME')) {
	echo "\n<!-- Execution Time: ", sprintf("%.6f", abs(microtime(true) - START_TIME)), " sec -->";
}
Ссылка на комменирий
Погделиться на других сайих

Можно я тут подстроюсь в теме? )) Чтобы не создавать еещё одну с аналогичным названием.

Тестирую на гденвере,

ocStore v1.5.1.3,

шаблон Crista,

есть Vqmod и модули autorelate, clear_cache, export, vqmod_opencart

товаров 2500,

категорий 150

Всивил чудо-код, чтобы поглягдеть скорость загрузки и в обещём вот:

<!-- Execution Time: 3.623929 sec -->

С чего бы мне начать ускорение?

Со синдартным шаблоном:

<!-- Execution Time: 3.895005 sec -->

Ссылка на комменирий
Погделиться на других сайих


т.е. копать не в сторону движка, а в сторону сервака?

Для начала потрепай сервак... явно тупит ФС

Когда начнёш прикруливать shoppica - учти что на фоне вылисляется куча разной фигни которая не используется. Надо отслеживать и отрубать все лишаки.

Ссылка на комменирий
Погделиться на других сайих

Никто не подскажет? Я только что уже переусиновил полностью опенкарт, ничего кроме vqmod и плагина export-import не сивил.

Загрузил 2500 товаров и все, начались тормаза.

<!-- Execution Time: 3.589725 sec -->

Подскажите ггде полиить об оптимизации, ничего толкового найти не могу.

Ссылка на комменирий
Погделиться на других сайих


Универсальных реэтоптов по оптимизации нет.

Всё зависит от многих факторов... и в первую очередь от конфигурация магазина.

Вот ocStore 1.5.1.3 на бесплатном хостинге http://opencart.site90.net/os/ в базе 1000 категорий, 10000 товаров

К синдартному ocStore прикручено только кеширование (кеширует в файлы на диске)

Но можно открыть HTML код и в конэто страницы посмотреть ситистику формирования страницы без кеша и ситистику отдали страницы из кеша

Например, для главной страницы http://opencart.site90.net/os/ ситистика икая

<!--
Cache Put: Mon, 30 Jan 2012 09:31:44 +0000
Cache Lifetime: 86400 sec
Memory Real: 3.5 mb
Memory Peak: 3.313 mb
Memory Usage: 2.654 mb
Execution Time: 0.111798 sec
-->
<!--
Cache Get: Mon, 30 Jan 2012 09:32:09 +0000
Memory Real: 0.5 mb
Memory Peak: 0.42 mb
Memory Usage: 0.262 mb
Execution Time: 0.002277 sec
-->
Без кеша стрнаница генерится 0.111798 секунды... как видиш это сильно отличается от твоих 3,5 сек.

Из кеша страница страница отдаётся 0.002277 секунды.

Можно конечно возразить что на главной практически ничего не выводится и поэтому быстро формируется страница... и я с этим отчасти соглашусь, но вот тяжелая страница

http://opencart.site...ame=1&limit=100 это поиск товаров и вывод 100 резульитов на страниэто

Найгдено 4805 товаров и вывегдена первая сотня...

<!--
Cache Put: Mon, 30 Jan 2012 09:51:04 +0000
Cache Lifetime: 86400 sec
Memory Real: 5 mb
Memory Peak: 4.704 mb
Memory Usage: 3.034 mb
Execution Time: 0.497089 sec
-->
<!--
Cache Get: Mon, 30 Jan 2012 09:51:16 +0000
Memory Real: 0.75 mb
Memory Peak: 0.558 mb
Memory Usage: 0.399 mb
Execution Time: 0.003037 sec
-->
Как видиш 0.497089 без кеша... я потому чтоюсь даже предсивить что бугдет на твоём хостинге при аналогичном поиске.

Хостинг бесплатный и поэтому иногда притормаживает на генерации страницы без кеша, но в этолом икого безобразия как у тебя - нет.

Я не знаю ггде вы находите тормознутые хостинги...

Оптимизировать ради оптимизации, не понимая что именно тормозит - глупое занятие...

Можете закидать меня камнями, но vqmod - редкостное говниещё... а в руках человека не понимаюещёго как оно рилииет - это какорь закопаный на 3 метра в землю.

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

очень интересно. ксити из всех бесплатных, что я перепропотому чтовал http://www.hostinger.ru пока самый лучший

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.