Jump to content
Sign in to follow this  
ProfiSale

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

Recommended Posts

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

Edited by Yurta

Share this post


Link to post
Share on other sites
5 hours ago, markimax said:

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

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

Share this post


Link to post
Share on other sites
5 hours ago, Yurta said:

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

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

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

Share this post


Link to post
Share on other sites
7 минут назад, ProfiSale сказал:

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

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

Share this post


Link to post
Share on other sites
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 шт.

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
6 часов назад, ProfiSale сказал:

стандартного кеширования товаров ... кеш категорий.

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

Share this post


Link to post
Share on other sites
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);
        

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
4 minutes ago, Otvet said:

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

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

Edited by ProfiSale

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
30 minutes ago, Otvet said:

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

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

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

 

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

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

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

 

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

 

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

  • +1 1

Share this post


Link to post
Share on other sites

Проблема была решена путем отключения модуля Storage Cleaner.

@chukcha Спасибо за помощь!)

Share this post


Link to post
Share on other sites

Так купите нормальный мод :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.