220 сообщений в этой теме

Как раз с совместимостью можно не переживать. А кто вместо $this->cache->get('....') будет читать файлы кэша напрямую, тот сам себе злобный Буратино.

 

Это я так понимаю очень нежное высказывание. :ugeek:

0

Поделиться этим сообщением


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

Это я так понимаю очень нежное высказывание. :ugeek:

А действительно, как помогает gzuncompress?

0

Поделиться этим сообщением


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

К примеру

250 категорий * 8 видов сортировки * 5 страниц пагинации * 4 варианта лимита - получаем 40 000 файлов. (это ситуация, к нам зашел гугл и бинг и прошерстил сортировку, а время жизни поставили пару дней)

Пусть вес каждого будет 10 кб - получаем почти полгигабайта . Жмутся файлы очень прилично, где то до 5 раз.

Экономия места на хостинге получается очень даже.  А операции зип анзип - на общем фоне совершенно несущественны. Я бы даже не дергался пытаясь сэкономить эти миллисекунды.

 

Так как это приблизительно та же ситуация, когда при посещаемости в 100 хостов в день, народ берет VPS и убирает Apache, потому что якобы Nginx быстрее.

 

апд. Марк кстати прав, конфликты бывают, и иногда приходится просто выкусывать эти инструкции.

0

Поделиться этим сообщением


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

Как раз с совместимостью можно не переживать. А кто вместо $this->cache->get('....') будет читать файлы кэша напрямую, тот сам себе злобный Буратино.

 

А тот кто кеш переназначит на свой обработчик? ;) Получит на входе архив и notice :ugeek: Это хоть и не ошибка, а notice, но вы знаете "наших" пользователей

0

Поделиться этим сообщением


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

апд. Марк кстати прав, конфликты бывают, и иногда приходится просто выкусывать эти инструкции.

 

А поставить настройку? ;) Использовать / не использовать gzuncompress

0

Поделиться этим сообщением


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

)) это ж настройку ставить надо. Как правило 90% установок все равно с напильником.

0

Поделиться этим сообщением


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

)) это ж настройку ставить надо. Как правило 90% установок все равно с напильником.

Да там работы не много, но решается вопрос с пользовательскими обработчиками кеша :)

0

Поделиться этим сообщением


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

А тот кто кеш переназначит на свой обработчик? ;) Получит на входе архив и notice :ugeek: Это хоть и не ошибка, а notice, но вы знаете "наших" пользователей

Можно свой кэшер написать, чтобы хранить кэш хоть где, в любом формате. Можно заменить им стандартный system/library/cache.php, или использовать параллельно со своими данными. Но зачем читать чужой кэш своим кэшером? Либо заменяй полностью, либо не трогай.

 

По поводу размера понятно, вот если бы еще кол-во файлов уменьшалось. Когда в кэше десятки тысяч файлов, то тормозить начинает люто. Из-за банального поиска файла в заполненной директории. Кэш в MySQL уже быстрее получается. Большой кэш уже надо структурировать? например по папкам раскидывать.

0

Поделиться этим сообщением


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

Можно свой кэшер написать, чтобы хранить кэш хоть где, в любом формате. Можно заменить им стандартный system/library/cache.php, или использовать параллельно со своими данными. Но зачем читать чужой кэш своим кэшером? Либо заменяй полностью, либо не трогай.

 

Не всё учли ;) Поверьте есть еще куча нюансов. Есть не просто маленькие модульки, есть и большие системы, где кеширование надо реализовывать по другому. Не забывайте что если переназначить кешировщик, он то может и должен читать и кеш файлы, которые сделал "стандартный", а тут засада, так как он уже далеко не стандартный а с архивированием.

0

Поделиться этим сообщением


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

По поводу размера понятно, вот если бы еще кол-во файлов уменьшалось. Когда в кэше десятки тысяч файлов, то тормозить начинает люто. Из-за банального поиска файла в заполненной директории. Кэш в MySQL уже быстрее получается. Большой кэш уже надо структурировать? например по папкам раскидывать.

 

 

SSD спасет мир! В наше время уже не роскошь.

А кеш в базе - вопрос спорный. Если есть большой сервер, у которого под swap выделенно 3-4gb да еще с правильными настройками, получится отличное решение. А если шаред-хост - те же тестикулы, только в профиль, так как все равно mysql будет  точно также осуществлять чтение большой таблицы с диска.

0

Поделиться этим сообщением


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

По поводу размера понятно, вот если бы еще кол-во файлов уменьшалось. Когда в кэше десятки тысяч файлов, то тормозить начинает люто. Из-за банального поиска файла в заполненной директории. Кэш в MySQL уже быстрее получается. Большой кэш уже надо структурировать? например по папкам раскидывать.

 

Совершенно верно. Надо раскидывать по папкам. Иначе на 1000 файлов, файловая система сервера просто "встанет". Наблюдал много раз. Или делать собиратель мусора, как я сделал у себя при кешировании ajax виджетов, просто через какое-то время 10-20 минут, удаляются все файлы кеша этого ключа.

0

Поделиться этим сообщением


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

Совершенно верно. Надо раскидывать по папкам. Иначе на 1000 файлов, файловая система сервера просто "встанет". Наблюдал много раз. Или делать собиратель мусора, как я сделал у себя при кешировании ajax виджетов, просто через какое-то время 10-20 минут, удаляются все файлы кеша этого ключа.

 

Реклама детектед.

 

Реализовать раскидывание по папкам, можно элементарно, через первые два символа md5 ключа. Но опять же - актуально только для sas винтов.

0

Поделиться этим сообщением


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

SSD спасет мир! В наше время уже не роскошь.

А кеш в базе - вопрос спорный. Если есть большой сервер, у которого под swap выделенно 3-4gb да еще с правильными настройками, получится отличное решение. А если шаред-хост - те же тестикулы, только в профиль, так как все равно mysql будет  точно также осуществлять чтение большой таблицы с диска.

Да нет как раз :) MySQL -лю при простом запросе (select val from table where var=queryval ) по барабану какой размер имеет таблица,  есть же индекс и ключ. Простой запрос быстрее отработает, чем файловая операция в переполненной папке кеша

0

Поделиться этим сообщением


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

Да нет как раз :) MySQL -лю при простом запросе (select val from table where var=queryval ) по барабану какой размер имеет таблица,  есть же индекс и ключ. Простой запрос быстрее отработает, чем файловая операция в переполненной папке кеша

 

 

А где хранятся данные mysql ? Я ж не говорю про логическую архитектуру выборки данных. А про физическую структуру. Таблицы mysql храняться точно так же на винте, как и файлы кеша. И если это часто используемая таблица, linux перемещает ее в swap, и ее чтение производится из RAM, получается быстро. Но если у нас таблица будет на 100-200м, в свап она не попадет, и скорость работы mysql не будет отличаться от скорости работы доступа к файлам кеша напрямую.

0

Поделиться этим сообщением


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

А где хранятся данные mysql ? Я ж не говорю про логическую архитектуру выборки данных. А про физическую структуру. Таблицы mysql храняться точно так же на винте, как и файлы кеша. И если это часто используемая таблица, linux перемещает ее в swap, и ее чтение производится из RAM, получается быстро. Но если у нас таблица будет на 100-200м, в свап она не попадет, и скорость работы mysql не будет отличаться от скорости работы доступа к файлам кеша напрямую.

Только не переполненные папки ФС сервера файлами ;)

 

чем файловая операция в переполненной папке кеша

 

 

Да плюс кеш MySQL еще поможет, да на нагруженных проектах cachemem

0

Поделиться этим сообщением


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

И плюс по индексу и ключу (в простом запросе)  MySQL читает не всю таблицу ;) А только её часть

0

Поделиться этим сообщением


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

Это все хорошо. Только вот если использовать таблицу mysql, при любой попытке записи в нее данных, она будет запираться, и все прелести индексов, неполных чтений файлов сходят на нет.

И это будет скорее epic fail, чем epic win, так как есть шанс ушатать всю систему.

А кеш мем, опять же - в реалиях ssd совершенно утратил свою актуальность.

0

Поделиться этим сообщением


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

Это все хорошо. Только вот если использовать таблицу mysql, при любой попытке записи в нее данных, она будет запираться, и все прелести индексов, неполных чтений файлов сходят на нет.

И это будет скорее epic fail, чем epic win, так как есть шанс ушатать всю систему.

А кеш мем, опять же - в реалиях ssd совершенно утратил свою актуальность.

 

SSD (сам сижу на SSD и мои клиенты на моем сервере) не поможет когда в папке 1000 и больше файлов (эффект тормоза всё равно наблюдается, хоть не так ярко) ;) И нагрузка будет большей чем "запирание" таблицы (там на "запирание" тратиться 0.00000000..., не забываем кеш MySQL).

А на переполненную папку файлами кеша с SSD 0.2-.0.3 cек. А на обычном винте 1-10 сек.

0

Поделиться этим сообщением


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

Это же будут самый легкие запросы для MySQL.  Он их любит. Он читает только индекс-файл, и по нему часть файла-таблицы

А вот ФС сервера (особенно переполненная папка файлами) - это как гадание на кофейной гуще, не известно как поведет на разных серверах.

MySQL - универсальное решение.

0

Поделиться этим сообщением


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

Писал я как-то про кэш в MySQL (https://opencartforum.com/topic/30542-%D1%83%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5-opencart-%D0%BF%D1%80%D0%BE%D1%84%D0%B8%D0%BB%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-php/?hl=%D0%BF%D1%80%D0%BE%D1%84%D0%B0%D0%B9%D0%BB%D0%B5%D1%80#entry241909) - был закидан помидорами :-)

 

Короче, пора тестировать тяжелую арлиттерию: Redis для кэша. Lucene или Sphinx для поиска и автокомплита. Ну и другие фокусы. Так понемногу перепишем ОpenCart на node.js или Goland :-)

0

Поделиться этим сообщением


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

 

Не все в курсе как работает архитектура MySQL. Думают что если запрос к MySQL то это уже "тормоз" по умолчанию. Серверу по барабану как используется его ФС или чтением файла с сервера или запросом к MySQL. Файлы индексов MySQL (сервер) держит в памяти. Поэтому простой запрос, использующий простой индекс будет так же быстр как и запрос на чтение файла. Но... когда в папке более 1000 файлов, простой запрос будет уже быстрее и чем больше файлов в папке тем больше будет отрыв

0

Поделиться этим сообщением


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

Это же будут самый легкие запросы для MySQL.  Он их любит. Он читает только индекс-файл, и по нему часть файла-таблицы

А вот ФС сервера (особенно переполненная папка файлами) - это как гадание на кофейной гуще, не известно как поведет на разных серверах.

MySQL - универсальное решение.

Читать то он читает - не вопрос.. А вот при записи таблица заааааблооокирована ) и усе. приплыли. Если вешать на одну таблицу весь кеш. Будет приблизительно такой же эффект, как у магазинов во время работы парсера. И на больших размерах кеша - по сути тот же эффект как от файлового в целом.

 

Короче, пора тестировать тяжелую арлиттерию: Redis для кэша. Lucene или Sphinx для поиска и автокомплита. Ну и другие фокусы. Так понемногу перепишем ОpenCart на node.js или Goland :-)

 

Да просто памяти побольше и делов.

А что касается поиска. Делал я поиск. Работал он на 700 к товаров. через select match against. Быстро более чем. Только поля приишлось переиндексировать в fulltext. И для полноценной работы phpmorphy не помешало.

0

Поделиться этим сообщением


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

Читать то он читает - не вопрос.. А вот при записи таблица заааааблооокирована ) и усе. приплыли. Если вешать на одну таблицу весь кеш. Будет приблизительно такой же эффект, как у магазинов во время работы парсера. И на больших размерах кеша - по сути тот же эффект как от файлового в целом.

 

Да просто памяти побольше и делов.

А что касается поиска. Делал я поиск. Работал он на 700 к товаров. через select match against. Быстро более чем. Только поля приишлось переиндексировать в fulltext. И для полноценной работы phpmorphy не помешало.

Блокировка - хороший аргумент. Требует проверки.

А так получается надо раскидывать кэш по папкам.

0

Поделиться этим сообщением


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

Читать то он читает - не вопрос.. А вот при записи таблица заааааблооокирована ) и усе. приплыли. Если вешать на одну таблицу весь кеш. Будет приблизительно такой же эффект, как у магазинов во время работы парсера. И на больших размерах кеша - по сути тот же эффект как от файлового в целом.

Что значит "приплыли" ?!, MySQL умный, он просто запрос к этой таблице  в очередь поставит... очередь будет 0.0000... никто и не заметит (оптимизатор MySLQ очень хорошо это делает). Учим мат. часть архитектуры MySQL  ;)

0

Поделиться этим сообщением


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

С куревом все ок. Если интересен эффект.  Предлагаю найти кого нить с парсером MaxD, который бесконечно делает insertы. И посмотреть как работает (очередь). Обычно магазин ложиться. Хотя апдейтится как правило там всего две таблицы. А учитывая, что кешем пользуется добрая половина контроллеров движка, даже небольшие запирания будут укладывать работу всего.

0

Поделиться этим сообщением


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

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

Комментарии могут оставлять только зарегистрированные пользователи

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

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!


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

Войти

Есть аккаунт? Войти.


Войти

  • Похожий контент

    • Автор: markimax


      Просмотреть файл Jet Cache :: SEO CMS Джет Кеш - кеширование для магазинов

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 8000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart
      Возможности
       
      - кеширует полностью страницы  
      - кеширует выбранные контроллеры  
      - кеширует методы моделей opencart  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее... Автор markimax Добавлен 15.03.2017 Категория Модули Системные требования Сайт разработчика Старая цена Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
    • Автор: markimax

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 8000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart
      Возможности
       
      - кеширует полностью страницы  
      - кеширует выбранные контроллеры  
      - кеширует методы моделей opencart  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее...
    • Автор: litehill
      Добрый день! Нужен человек знающий опенкарт на отлично
      https://developers.google.com/speed/pagespeed/insights/?hl=ru&url=empirebags.com.ua&tab=desktop
      Нужно оптимизировать сайт, не нарушив функциональность.
      Увеличить скорость загрузки мин до 75/100
      что для мобильного так и ПК!
       
      Скажите пожалуйста, кто может это сделать и сколько будет стоить. Спасибо!)
  • Недавно просматривали   0 пользователей

    Ни один зарегистрированный пользователь не просматривает эту страницу.