- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, по некоторым причинам нельзя использовать стандартное кеширование джумлы, т.к. страницы не должны кешироваться.
Но нужно чтобы запросы к БД кешировались.
Как можно сделать? может есть ли плагин такой ? (вроде для 1.5 раньше был, но сейчас сайт разрабочика не работает.)
БД в основном используется для хранения и получения периодически обновляемой информации.
Все остальное, практически всегда статично.
У Вас все наоборот. Опишите подробнее что Вам нужно.
Нужно чтобы кешировались все sql запросы к бд, их очень много.
На сервере стоит nginx и при включении стандатного кеширования джумлы, неправильно работает со кешированными страницами. Поэтому надо кешировать только запросы к бд.
Был раньше такой плагин Query Cache под j1.0 -1.5 для этих дел, но сейчас офф сайт закрылся. Незнаю откуда его скачать, ато допилил бы до 2.5.
Нашёл эквивалент для 2.5 plgSystemHomepageCache но он работает нормально на apache и не работает под nginx.
Нужно чтобы кешировались все sql запросы к бд, их очень много.
Правильнее бы было настроить кеш запросов на самом MySQL сервере.
Можно еще включить лог медленных запросов и помониторить их. Иногда и один кривой плагин ставит весь сайт на ручник.
Вроде это последняя версия, которая была: QueryCache 1.5.0 RC2
Вобщем пока сделал так.
Взял данные из таблицы, для которой было больше всего запросов.
И сделал php файл где эти данные выбираю - case 10: return value;
В том месте, где шли эти запросы, поменял обращение к бд, на вызов этой функции.
Отпрофилировал: количество запросов уменьшилось в 2,5 раза, но скорость выполнения и загрузка памяти не упали.
С кешированием работает явно быстрее (запросов ещё меньше), но неправильно.
Собственно почему решил ставить плагин, а не пользоваться стандартным кешем джумлы - на сервере c nginx как-то неправильно формируется этот кеш.
К примеру у меня модуль, где ссылки на категории, такого формата имя категории/55-город. Так вот после включения кеша - урлы формируются неправильно имя категории/-888-город - Вообще не правильный город и непонятно почему он там появляется, ведь id города берётся из сессии и должно быть 55, а не 888. На старом хостинге где был простой apache - такого глюка не было. Но там сам хостинг был неподходящий.
Просто пока не совсем понимаю механизм кеширования в джумле. Вроде в папке cache появляются полуфабрикаты сгенерированных php/html страниц, а где храняться кешированные sql запросы ? это похоже от хостинга/сервера зависит, на прошлом сервере, кешированые файлы были вообще в другом формате.
---------- Добавлено 26.06.2014 в 12:58 ----------
Может кто нибудь сталкивался, почему nginx генерирует бредовый кеш в джумле ?