alex32 942 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 В ДЛЕ есть функция, очищающая кэш при добавлении новых новостей и еще при совершении каких-то определенных действий. У меня на сайте (v.10.1) добавляется огромное количество новостей и кэш по сути просто не успевает формироваться, точнее, он стирается быстрее, чем формируется , что, разумеется, нехило повышает нагрузку на сервер. Функция очистки кэша по расписанию, раз в час например, меня вполне устраивает. Какие файлики надо ковырнуть, что бы отключить автоматическую очистку кэша при добавлении новых новостей? а то караул, сайт порой вешается. И второй вопрос, при такой ситуации (одновременное добавление большого кол-ва записей в БД и при этом одновременно много запросов к БД для вывода на сайте новостей) имеет ли смысл изменить тип myisam на innodb? Работать то вообще будет? и есть ли смысл? Вчера курил интернет, вроде как говорят, что innodb лучше себя ведет при большом кол-ве одновременных select и insert Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 В ДЛЕ есть функция, очищающая кэш при добавлении новых новостей и еще при совершении каких-то определенных действий.О, я думал там только по настройкам времени осуществляется очистка. Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 Автор В ДЛЕ есть функция, очищающая кэш при добавлении новых новостей и еще при совершении каких-то определенных действий.О, я думал там только по настройкам времени осуществляется очистка.DeeMon вот, у пафнутия нашел описание таких действий и какой кеш чистится: Префиксы которые автоматически чистятся при определённых условиях:news, rss, comm - при добавлении новости или комментария.news, related, tagscloud, archives, calendar, topnews, rss - при добавлении новости.comm - при редактировании комментария.news, rss - при редактировании новости, при выcтавлении рейтингаnews, full, comm, rss - при массовом удалении комментариевnews, full, comm, tagscloud, archives, calendar, rss - при удалении новости 1 Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 Ну для новостей это как вариант файл engine/inc/addnews.phpТам вроде строка №441:clear_cache( array('news_', 'related_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss') );Ну видимо удалить не нужное... 1 Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 Автор Ну для новостей это как вариант файл engine/inc/addnews.phpТам вроде строка №441:clear_cache( array('news_', 'related_', 'tagscloud_', 'archives_', 'calendar_', 'topnews_', 'rss') );Ну видимо удалить не нужное...ДА, уже тоже туда полез ) )) а так же по видимому rss.php, tagscloud.php и все остальные файлы из списка... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 (изменено) Какие файлики надо ковырнуть, что бы отключить автоматическую очистку кэша при добавлении новых новостей? а то караул, сайт порой вешается.engine/inc/addnews.phpengine/modules/addnews.php Изменено 6 июня 2015 пользователем celsoft 1 Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 Автор Владимир, спасибо за ответ насчет кэша, а не выскажете свое мнение насчет смены БД типа myisam на innodb? есть смысл при большом кол-ве одновременных селектов и инсертов менять? И самое главное, будет ли ДЛЕ корректно работать? дальше уже буду сам экспериментировать и сравнивать. Что думаете, хочется услышать мнение разработчика. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 6 июня 2015 Рассказать Опубликовано: 6 июня 2015 (изменено) Владимир, спасибо за ответ насчет кэша, а не выскажете свое мнение насчет смены БД типа myisam на innodb? есть смысл при большом кол-ве одновременных селектов и инсертов менять? Если у вас количество операций записи превышает количество операций чтения, или крайне высоко, то имеет смысл. Разница между типами следующая: при myisam выборка осуществляется быстрее чем при innodb, а вот запись в таблицу при innodb происходит быстрее чем при myisam, потому как в innodb блокировка происходит на уровне строк, а при myisam на уровне таблицы.И самое главное, будет ли ДЛЕ корректно работать?Будет. Но нужно не забыть отключить полнотекстовый поиск и убрать полнотекстовые ключи из бд, т.к. они не поддерживаются в innodb. В стандартном DLE тип myisam потому что мы исходим из того что сайт намного больше и чаше читают, чем добавляют новости на него. Изменено 6 июня 2015 пользователем celsoft Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 7 июня 2015 Рассказать Опубликовано: 7 июня 2015 Автор Спасибо за ответ. Полнотекстовой поиск на сайте не используется. НУ что ж, будем пробовать )) Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 7 июня 2015 Рассказать Опубликовано: 7 июня 2015 Автор что то я втупил. Достаточно будет поменять тип только у одного поля _post (на нем вся нагрузка) или всю базу надо конвертить? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 7 июня 2015 Рассказать Опубликовано: 7 июня 2015 что то я втупил. Достаточно будет поменять тип только у одного поля _post (на нем вся нагрузка) или всю базу надо конвертить?Не у поля, а у таблицы. Конвертировать ее не нужно, нужно просто тип БД, через phpMyAdmin. Да если менять, то желательно проделать это для всех полей. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.