Перейти к содержимому


Фото

[2.*] Модуль кеширования MySQL запросов


  • Чтобы отвечать, сперва войдите на форум
39 ответов в теме

#21 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 28.10.2014 - 14:55

Готов новый модуль. Можете смотреть в работе! http://demo.gorgaz.com.ua/

  

А сейчас в демо всегда  ненулевое число запросов. Даже когда страницу  (например http://demo.gorgaz.c...570-galaxy-mini) обновляю несколько раз, 1 запрос все равно есть. А должно бы быть 0...

Сделал вывод количества запросов и дебага на страницу. Можете смотреть!

 

 

Что нового:

  1. Добавлена таблица в БД для хранения пары "MD5 key => tables". Запросы к таблице осуществляются только при добавлении и удалении кеша. При считывании кеша нет запросов в БД.
  2. Добавлено GZIP сжатие для хранимых кеш-файлов, что может существенно сэкономить место на диске. Не стоит забывать, что распаковка сжатых файлов так же создает нагрузку на CPU. Тут уже стоит выбирать, чем жертвовать.
  3. Более подробное протоколирование работы системы кеширования.
  4. Существенно переработан и оптимизирован PHP код, что благоприятно отразилось на скорости работы. Теперь считывание кеша происходит гораздо быстрее чем обращение к БД + уменьшен расход ОЗУ в сравнении со старой версией модуля.
  5. Снято ограничение на количество кеш-файлов. Кеш-файлы хранятся вечно. При обновлении базы данных удаляются только кеш-файлы которые имеют отношение к измененным таблицам. 


#22 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 28.10.2014 - 17:42

При оформлении заказа выходит адрес http://demo.gorgaz.com.ua/order/, а там Страница не найдена

#23 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 28.10.2014 - 17:53

Интереснее было бы увидеть в протоколе не абстрактные данные, понятные только Вам, а сами тексты запросов и реальных и кешированных. Еще время, потраченное на каждый запрос...

Предусмотрены ли настройки кеширования
1. Включить-отключить
2. Использовать ли сжатие

#24 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 28.10.2014 - 20:34

Интереснее было бы увидеть в протоколе не абстрактные данные, понятные только Вам, а сами тексты запросов и реальных и кешированных. Еще время, потраченное на каждый запрос...

Предусмотрены ли настройки кеширования
1. Включить-отключить
2. Использовать ли сжатие

1. При запросе в БД отобразить его в протоколе можно, мне не составит труда.. сделаю.

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

3. Отключать и включать кеширование и сжатие - можно, единственное сейчас только в ручном режиме (исправляя значение переменной с true на false. Вывод рубильников (вкл/выкл) в саму админку планирую.

 

Что касательно оформления заказа - проверяю.



#25 DaVinci

DaVinci
  • Фрилансер
  • 1 141 сообщений
  • Программирование, Верстка
  • Версия CMS:1.x, 2.x
  • Откуда:SimplaDev.ru

Опубликовано 28.10.2014 - 20:37

Изображения нарезаются только со второго раза

 

При каждом обращении:

DataBase queries: 14
Cache read queries: 0



#26 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 28.10.2014 - 20:59

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

А в админке у товара вообще не записываются картинки
1. выбираю картинку.
2. Жму сохранить, картинки новой не видно
3. Еще жму сохранить, появляется место для новой картинки (белый квадрат), самой картинки не видно
4. Еще жму сохранить, и белый квадрат исчезает, самой картинки по-прежнему нет

#27 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 28.10.2014 - 22:51

Изображения нарезаются только со второго раза

 

При каждом обращении:

DataBase queries: 14
Cache read queries: 0

Ведутся работы, иногда отключаю кеширование.

 

 

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

А в админке у товара вообще не записываются картинки
1. выбираю картинку.
2. Жму сохранить, картинки новой не видно
3. Еще жму сохранить, появляется место для новой картинки (белый квадрат), самой картинки не видно
4. Еще жму сохранить, и белый квадрат исчезает, самой картинки по-прежнему нет

 

С картинками проблема в Simpla на моем хостинге (немогу понять почему, но рендеряться они только при повторном обращении. С добавлением картинки разбираюсь, связано с закешированным значением и не своевременной очисткой. Разбираюсь.

 

Сделал вывод запросов.

 

Спасибо Kors!



#28 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 29.10.2014 - 00:15

Исправлены все выявленные ошибки.

За их обнаружение отдельное спасибо Корс'у!

 

Вывел дебаг по запросам в админку - глаза на лоб полезли... Попробуйте сохранить изменения в товаре и посмотрите на кол-во запросов.

Многие из них повторяются, из-за этого и происходил сбой в системе кеша (устранено).



#29 acidpepper

acidpepper
  • Пользователь
  • 8 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Киров

Опубликовано 08.11.2014 - 21:23

Отличный модуль , после установки нагрузка хостера снизилась! ОГРОМНОЕ СПАСИБО!



#30 Maksclub

Maksclub

    Помогаю с Симплой и c PHP

  • Фрилансер
  • 1 393 сообщений
  • Дизайн, Программирование, Верстка, Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Москва

Опубликовано 02.08.2015 - 22:32

Вопрос: у меня 1300 брендов, правильно ли я понимаю, что ваша доработка как раз полезна?

Слабо в запросах понимаю... интуитивно кажется нужна....


Изменено: Maksclub, 02.08.2015 - 22:32


#31 Sheeft

Sheeft
  • Администратор
  • 1 614 сообщений
  • Пользователь
  • Откуда:Москва

Опубликовано 03.08.2015 - 11:02

если ошибки нет смысла особого нет, перекладывание одной нагрузки в другую )



#32 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 26.08.2015 - 21:51

если ошибки нет смысла особого нет, перекладывание одной нагрузки в другую )

Смысл есть! В файле хранится уже результат запроса, его нужно лишь открыть и прочитать. Выполнение же запроса в БД займет больше времени, на сколько? Это уже зависит как от запроса, так и от велечины таблицы.



#33 Sheeft

Sheeft
  • Администратор
  • 1 614 сообщений
  • Пользователь
  • Откуда:Москва

Опубликовано 26.08.2015 - 22:59

Базы данных придуманы как-раз для доступа к большим массивам данных, их тоже не дураки делают ;)

И кэширование подразумевает сохранение данных (в данном случае запроса) в более быстрой оперативке, для более быстрого доступа.



#34 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 27.08.2015 - 16:45

Да все верно вы описали, но выборка данных из большой БД происходит не быстро и создает большую нагрузку на сервер, нежели простое чтение файла.



#35 generatiumru

generatiumru
  • Пользователь
  • 7 сообщений
  • Дизайн

Опубликовано 18.02.2016 - 16:01

380000 товаров, 1000 категорий

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



#36 Kors

Kors
  • Фрилансер
  • 3 522 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Россия

Опубликовано 18.02.2016 - 16:17

Вы бы сначала выяснили, в чем узкие места, а потом уже меры принимали. Чтоб не вслепую на авось...



#37 cernos

cernos
  • Фрилансер
  • 369 сообщений
  • Дизайн, Программирование, Верстка, Заказчик
  • Версия CMS:2.x
  • Откуда:Донецк/Москва

Опубликовано 18.02.2016 - 17:00

380000 товаров, 1000 категорий

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

Это индивидуально...

 

В вашем случае, есл учесть количество товара, то смею предположить ч тоу вас свой сервер или VDS, тогда проще включить MySQL кеширование запросов. Мало? Подрубите memcache.

 

Данный скрипт рассчитан на обычные хостинги.



#38 igorok

igorok
  • Пользователь
  • 3 сообщений

Опубликовано 13.04.2016 - 18:42

Тоже актуален вопрос с кешированием запросов. В панеле хостинга по
статистике запросов просто ужас, время выполнения многих больше 30 с, сайт тоже
визуально смахивает на неспешного робота. Сайт имеет около 100 000 товаров
и 2000 категорий. Хостинг обычный но поддерживает memcache, хотя как его
подрубить на симплу там не знают. Вот и хочу попробывать ваш модуль, или
получит помощь в настройке memcache. Вообще в идеале нужно помощь в оптимизации
самих запросов, но на крайняк и кеш думаю сойдёт. Переход на VDS?...возможно и такой вариант.



#39 igorok

igorok
  • Пользователь
  • 3 сообщений

Опубликовано 13.04.2016 - 20:15

к стати ошибка вылезла http://demo.gorgaz.c...amsung?page=all



#40 question

question
  • Пользователь
  • 90 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 01.08.2018 - 14:52

Работает, нет? 






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых