Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Тормозит сайт из-за кеширования


Recommended Posts

3 часа назад, ProfiSale сказал:

я думал, что кеш для них и нужен.

Без них кешировать практически и нечего.

 

Так а что поставили ?

Надіслати
Поділитися на інших сайтах

У вас кеш тормозит из-за того, что он внес себе отсутствующий элемент 0 байт или damaged item, такая фигня есть и в линуксе и в винде и для браузеров и серваков, пока не удалите причину будет жрать ресурсы, но это так мои фантазии. А реально найдите битый фаил, но тут есть спецы, они помогут 

Змінено користувачем Yurta
Надіслати
Поділитися на інших сайтах

5 hours ago, markimax said:

Так а что поставили ?

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

Надіслати
Поділитися на інших сайтах


5 hours ago, Yurta said:

У вас кеш тормозит из-за того, что он внес себе отсутствующий элемент 0 байт или damaged item, такая фигня есть и в линуксе и в винде и для браузеров и серваков, пока не удалите причину будет жрать ресурсы, но это так мои фантазии. А реально найдите битый фаил, но тут есть спецы, они помогут 

а где этот элемент искать?

И какой битый файл?

Надіслати
Поділитися на інших сайтах


7 минут назад, ProfiSale сказал:

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

Фильтр может создавать большое количество кеш файлов
Что за фильтр ?

Надіслати
Поділитися на інших сайтах

23 minutes ago, markimax said:

Фильтр может создавать большое количество кеш файлов
Что за фильтр ?

Simon Filter

В кеше он создает примерно столько же файлов кеша, сколько и продукт.

 

Убрал вот такие скрипты из хедера:

<script type="text/javascript">
$.fn.tabs=function(){var b=this;this.each(function(){var a=$(this);$(a.attr("href")).hide();$(a).click(function(){$(b).removeClass("selected");$(b).each(function(b,a){$($(a).attr("href")).hide()});$(this).addClass("selected");$($(this).attr("href")).fadeIn();return!1})});$(this).show();$(this).first().click()};
</script>
<script type="text/javascript">
(function(b){function d(a){this.input=a;a.attr("type")=="password"&&this.handlePassword();b(a[0].form).submit(function(){if(a.hasClass("placeholder")&&a[0].value==a.attr("placeholder"))a[0].value=""})}d.prototype={show:function(a){if(this.input[0].value===""||a&&this.valueIsPlaceholder()){if(this.isPassword)try{this.input[0].setAttribute("type","text")}catch(b){this.input.before(this.fakePassword.show()).hide()}this.input.addClass("placeholder");this.input[0].value=this.input.attr("placeholder")}},
hide:function(){if(this.valueIsPlaceholder()&&this.input.hasClass("placeholder")&&(this.input.removeClass("placeholder"),this.input[0].value="",this.isPassword)){try{this.input[0].setAttribute("type","password")}catch(a){}this.input.show();this.input[0].focus()}},valueIsPlaceholder:function(){return this.input[0].value==this.input.attr("placeholder")},handlePassword:function(){var a=this.input;a.attr("realType","password");this.isPassword=!0;if(b.browser.msie&&a[0].outerHTML){var c=b(a[0].outerHTML.replace(/type=(['"])?password\1/gi,
"type=$1text$1"));this.fakePassword=c.val(a.attr("placeholder")).addClass("placeholder").focus(function(){a.trigger("focus");b(this).hide()});b(a[0].form).submit(function(){c.remove();a.show()})}}};var e=!!("placeholder"in document.createElement("input"));b.fn.placeholder=function(){return e?this:this.each(function(){var a=b(this),c=new d(a);c.show(!0);a.focus(function(){c.hide()});a.blur(function(){c.show(!1)});b.browser.msie&&(b(window).load(function(){a.val()&&a.removeClass("placeholder");c.show(!0)}),
a.focus(function(){if(this.value==""){var a=this.createTextRange();a.collapse(!0);a.moveStart("character",0);a.select()}}))})}})(jQuery);
</script>

 

Теперь в папке кеша стали удалятся файлы фильтра и продуктов автоматом.

Было 3200 шт - стало 200 шт.

Сайт стал работать по быстрее.

Буду тогда искать, что еще лишнее.

Надіслати
Поділитися на інших сайтах


Напишу предварительный отсчет, может кому-то будет интересно:

1. Сравнил код кеширования товаров с исходным - они идентичны.

2. Дополнительную нагрузку создает Simon фильтр и меню slMenu - без них сайт в зеленой зоне.

3. Кеш разрастается из-за стандартного кеширования товаров + кеш фильтра + кеш категорий.

Надо бы расфасовать кеш по папкам, но как сделать это не знаю В опенкарте путь к папке с кешом прописан один раз и простое добавление строки "кидай кеш в эту папку" не получится.

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

5. Попробую убрать кеширование атрибутов в фильтре - это основная масса в кешировании этого фильтра.

Надіслати
Поділитися на інших сайтах


1 hour ago, Otvet said:

НЕТ стандартного кеширования этого в опенкарт

часть кода в файле product.php:

$cache = md5(http_build_query($data));
    
        $product_data = $this->cache->get('product.' . (int)$this->config->get('config_language_id') . '.' . (int)$this->config->get('config_store_id') . '.' . (int)$customer_group_id . '.' . $cache);
        

Надіслати
Поділитися на інших сайтах


4 minutes ago, Otvet said:

это дело чьих то не очень прямых рук

это дело находится в Opencart 1.5.4, скаченого с этого сайта

Змінено користувачем ProfiSale
Надіслати
Поділитися на інших сайтах


30 minutes ago, Otvet said:

как минимум с 1.5.5 такого нет, ибо это дэбильная идея

проверил - действительно, такого нет. Там только кеширование последних и бестселлеров, да и у них функция по меньше будет.

Пока сделал по другому, если не поможет - попробую убрать кеш товаров.

 

Нашел как убрать одновременное автоматическое удаление кеша:

http://opencartmodules.ru/used-here/cache_update

Протестить не успел, т.к. решил сделать как здесь:

 

Надіслати
Поділитися на інших сайтах


  • 1 month later...

Столкнулся с такой же проблемой на OC2.3 
Папка с image/cache/products разрастается на глазах, как только достигает больше 600 кэшированых изображений, админка сайта начинает дико тормозить. При этом сам сайт загружается нормально. При работе в админке, удаляю кэш вручную каждые 15-30 минут. Это ведь не нормально? Сейчас вот смотрю 13 118 файлов в image/cache/products и количество ежеминутно растет.  (2,5 тысячи товаров). 
Посоветуйте что можно проверить? поправить? 

 

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

Надіслати
Поділитися на інших сайтах


потому что идет прямой доступ к файлам, потому фронт не чувствует

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

 

 

Может быть у вас стоит какой-нибудь модуль очистки  кеша, который считает объем?

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.