Crashlabs 56 Опубликовано: 26 ноября 2020 Рассказать Опубликовано: 26 ноября 2020 Просьба добавить тег [inform_имя] текст [/inform_имя] для проверки информера по аналогии с [banner_имя] текст [/banner_имя]. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Crashlabs 56 Опубликовано: 30 ноября 2020 Рассказать Опубликовано: 30 ноября 2020 Также, не хватает аналогичных тегов [page-description] текст [/page-description], [not-page-title] текст [/not-page-title] только для {category-title} и {category-description} 3 Цитата Ссылка на сообщение Поделиться на других сайтах
Sander1 62 Опубликовано: 1 декабря 2020 Рассказать Опубликовано: 1 декабря 2020 Вновь подниму вопрос касательно оптимизации. Как известно, на средних и больших БД, запрос вида: SELECT count(*) as count_all FROM dle_post WHERE {...} Порой занимает довольно продолжительное время. И чем больше новостей в разделе, тем дольше запрос. И получается, что на всех (!!) страницах где есть навигация: /page/2/, /page/3/, /page/4/, /page/5000 Будет повторно выполняться один и тот же медленный запрос, который всегда будет отдавать один и тот же результат. Таким образом, в результате сканирования всех 5000 страниц, будет выполнено минимум 10000 запросов. Хотя могло, и следовало бы - 5001. Я предлагаю сделать отдельный кеш для счетчика количества новостей во всех разделах. PS. Для желающих использовать или попробовать это решение - выложил в виде плагина на github: https://github.com/San-Dev/dle-plugins/blob/master/cat-optim.xml 1 1 Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 1 декабря 2020 Рассказать Опубликовано: 1 декабря 2020 1 час назад, Sander1 сказал: выложил в виде плагина на github: $cache_hash = md5($sql_count); если я правильно понял про кеширование, то при появлении новых новостей в момент хождения по страницам - $sql_count не изменится, изменится результат его выполнения... Цитата Ссылка на сообщение Поделиться на других сайтах
crafic 32 Опубликовано: 1 декабря 2020 Рассказать Опубликовано: 1 декабря 2020 (изменено) Sander1 у тебя наверно отключена отложенная публикация. и запрос один и тот же. а так на самом деле и AND date<'...' добавляется Изменено 1 декабря 2020 пользователем crafic Цитата Ссылка на сообщение Поделиться на других сайтах
Sander1 62 Опубликовано: 1 декабря 2020 Рассказать Опубликовано: 1 декабря 2020 33 минуты назад, MSK сказал: $cache_hash = md5($sql_count); если я правильно понял про кеширование, то при появлении новых новостей в момент хождения по страницам - $sql_count не изменится, изменится результат его выполнения... Мой хак хранит кеш всех результатов запросов в одном файле с именем news_select-count.tmp. Добавление или удаление новости удаляет все файлы кеша с префиксом news_. В том числе мой файл кеша так же будет удален и создан заново с новыми, правильными значениями. 29 минут назад, crafic сказал: Sander1 у тебя наверно отключена отложенная публикация. и запрос один и тот же. а так на самом деле и AND date<'...' добавляется "Отложенная публикация" - это как раз то, что я у себя в статье рекомендую отключать в первую очередь. Вот примеры запросов: В разделе 110к новостей [query] => SELECT COUNT(*) as count FROM dle_post p INNER JOIN (SELECT DISTINCT(dle_post_extras_cats.news_id) FROM dle_post_extras_cats WHERE cat_id IN ('2')) c ON (p.id=c.news_id) WHERE approve=1 [time] => 1,4607090950012 В категории 44к новостей [query] => SELECT COUNT(*) as count FROM dle_post p WHERE category IN ('1') AND approve=1 [time] => 0,27791213989258 В категории 10к новостей [query] => SELECT COUNT(*) as count FROM dle_post p WHERE category IN ('2') AND approve=1 [time] => 0,083189964294434 В разделе 5к новостей [query] => SELECT COUNT(*) as count FROM dle_post WHERE xfields LIKE '%2019%' AND approve=1 [time] => 0,746661901474 Цитата Ссылка на сообщение Поделиться на других сайтах
crafic 32 Опубликовано: 1 декабря 2020 Рассказать Опубликовано: 1 декабря 2020 (изменено) ну тогда я предлагаю и AND approve=1 убрать для ускорения запроса и перемещать все новости на модерации в отдельный раздел. например вот так https://skr.sh/s5PsSZX3P3X а если бы мне за оптимизацию платили я бы еще кое что придумал, да такое что dle точно бы прибавил газу 😁 Изменено 1 декабря 2020 пользователем crafic 1 Цитата Ссылка на сообщение Поделиться на других сайтах
ntrtv 55 Опубликовано: 1 декабря 2020 Рассказать Опубликовано: 1 декабря 2020 3 часа назад, Sander1 сказал: Отложенная публикация" - это как раз то, что я у себя в статье рекомендую отключать в первую очередь. А как без отложек? У нас несколько корреспондентов на сайте. Они расставляют новости с интервалом 20-30 минут. Как без отложки это делать? А как на раннее утро ставить, на поздний вечер и т.п.? Цитата Ссылка на сообщение Поделиться на других сайтах
Sander1 62 Опубликовано: 2 декабря 2020 Рассказать Опубликовано: 2 декабря 2020 14 часов назад, ntrtv сказал: А как без отложек? У нас несколько корреспондентов на сайте. Они расставляют новости с интервалом 20-30 минут. Как без отложки это делать? А как на раннее утро ставить, на поздний вечер и т.п.? Я не могу сказать точно в процентном соотношении, но полагаю что бОльшая часть часть сайтов не использует этот функционал. Но он включен в движке по умолчанию. Поэтому я и рекомендую его отключать. Кто знает, что это такое, тот оставит включенным. Кто нет - лучше выключить. К тому же то, как сейчас реализована отложенная публикация - это лишь один из вариантов. Который тоже не без недостатков. Пока кеш новостей не будет очищен - новость не будет отображаться в общей ленте на сайте. Другое дело, что кеш чистится довольно таки часто, в зависимости от активности пользователя (выставление оценки, добавление комментария). Более правильным вариантом - было бы использование планировщика заданий. И это, кстати, идея. Подумаю над реализацией такого модуля. 16 часов назад, crafic сказал: ну тогда я предлагаю и AND approve=1 убрать для ускорения запроса и перемещать все новости на модерации в отдельный раздел. например вот так https://skr.sh/s5PsSZX3P3X а если бы мне за оптимизацию платили я бы еще кое что придумал, да такое что dle точно бы прибавил газу 😁 Не могу не согласиться. Но вряд ли такое будет реализовано, уж очень много надо будет переделывать как мне кажется. Цитата Ссылка на сообщение Поделиться на других сайтах
kamensk 86 Опубликовано: 2 декабря 2020 Рассказать Опубликовано: 2 декабря 2020 2 часа назад, Sander1 сказал: Я не могу сказать точно в процентном соотношении, но полагаю что бОльшая часть часть сайтов А много ли сайтов на дле - 200-300тысяч публикаций? Цитата Ссылка на сообщение Поделиться на других сайтах
Sander1 62 Опубликовано: 2 декабря 2020 Рассказать Опубликовано: 2 декабря 2020 22 минуты назад, kamensk сказал: А много ли сайтов на дле - 200-300тысяч публикаций? Не знаю. Может и есть, не сомневаюсь в этом. Но про такие числа и не идет речь. Все тестирования я провожу на вполне реальных сайтах с количеством публикаций 50-100к Сайт кинотематики 61к новостей: 44к фильмов, 10к сериалов, 6к мультиков. Сайт с играми 94к. Цитата Ссылка на сообщение Поделиться на других сайтах
kamensk 86 Опубликовано: 2 декабря 2020 Рассказать Опубликовано: 2 декабря 2020 1 час назад, Sander1 сказал: Не знаю. Может и есть, не сомневаюсь в этом. Но про такие числа и не идет речь. Все тестирования я провожу на вполне реальных сайтах с количеством публикаций 50-100к Сайт кинотематики 61к новостей: 44к фильмов, 10к сериалов, 6к мультиков. Сайт с играми 94к. Посещалка какая? На хостинге размещенны? Цитата Ссылка на сообщение Поделиться на других сайтах
Sander1 62 Опубликовано: 2 декабря 2020 Рассказать Опубликовано: 2 декабря 2020 2 часа назад, kamensk сказал: Посещалка какая? На хостинге размещенны? У меня - нулевая посещаемость, это тестовые сайты. На хостинге и на локалке. Цитата Ссылка на сообщение Поделиться на других сайтах
Mr. Bot 26 Опубликовано: 4 декабря 2020 Рассказать Опубликовано: 4 декабря 2020 02.12.2020 в 15:41, Sander1 сказал: Другое дело, что кеш чистится довольно таки часто, в зависимости от активности пользователя (выставление оценки, добавление комментария). Я давным давно обращал внимание на то что кеш должен быть не в виде HTML, а собираться вручную из кусочков, но в угоду немного выросшей нагрузке, насилуем MySQL на больших базах. 01.12.2020 в 18:43, Sander1 сказал: PS. Для желающих использовать или попробовать это решение - выложил в виде плагина на github: https://github.com/San-Dev/dle-plugins/blob/master/cat-optim.xml Файл кеша может сильно раздутся, да и в виде одного крупного файла решение не очень. По сути нужно юзать тот же memcache, и для каждой выборки использовать свой кеш. Но тут даже у @celsoft с его реализацией кеш-карты не предусмотрена такая проблема, что по дефолту memcache может хранить запись размером только 1 Mb, и на больших сайтах эффективность типа кеширования что используется в DLE, стремится прямиком к нулю. Цитата Ссылка на сообщение Поделиться на других сайтах
Alex-GR 5 Опубликовано: 4 декабря 2020 Рассказать Опубликовано: 4 декабря 2020 Модуль googlemap. Вначале идет кнопка "Уведомить поисковые системы о наличии новой версии карты сайта", а в самом конце - "Создать / Обновить файл карты сайта". Возможно, вначале нужно сгенерить сайтемап, а потом его уже отправлять? И кнопки в таком же приоритете расставить? Фигня, конечно, но... Заранее благодарен, если прислушаетесь. Выкину пару строк из плагина. Цитата Ссылка на сообщение Поделиться на других сайтах
dds 43 Опубликовано: 6 декабря 2020 Рассказать Опубликовано: 6 декабря 2020 Было бы не плохо, если бы можно сокращать большой рейтинг (Пример: 1000 => 1K 100000 => 100K 1000000 => 1M) 1 Цитата Ссылка на сообщение Поделиться на других сайтах
ZzzBep 18 Опубликовано: 9 декабря 2020 Рассказать Опубликовано: 9 декабря 2020 1.Есть предложение сделать поиск имеющихся фото. (если это уже есть шлите меня в лес )) Ежегодно одни и те же события повторяются и не только ежегодно. Так вот бывает часто грузишь одну и туже фотку. Запомнить название фотки я думаю никто не запомнит. А вот найти ее поиском по названию новости это уже проще. То есть в загруженных фотках есть поиск в котором вбиваем примерное название новости и он показывает фотки которые в ней есть. Жмем на нужную и все. Это будет экономить время и место на хостинге, особенно для активных сайтов. https://prnt.sc/vz1de3 2. Сделать возможность выбора на что оканчивается ЧПУ я думаю это было бы хорошо https://prnt.sc/vz1aip Так же сюда можно было бы варианты генерации ЧПУ добавить https://prnt.sc/vz1byp Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 9 декабря 2020 Рассказать Опубликовано: 9 декабря 2020 1 час назад, ZzzBep сказал: 1.Есть предложение сделать поиск имеющихся фото. (если это уже есть шлите меня в лес )) Если фото добавить ссылкой из другой новости, то при удалении новости-донора фото тоже удалится. Цитата Ссылка на сообщение Поделиться на других сайтах
ZzzBep 18 Опубликовано: 9 декабря 2020 Рассказать Опубликовано: 9 декабря 2020 44 минуты назад, MSK сказал: Если фото добавить ссылкой из другой новости, то при удалении новости-донора фото тоже удалится. Нет новости нет проблем, я имею ввиду существующие. Не совсем понял честно что Вы имели ввиду. Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 9 декабря 2020 Рассказать Опубликовано: 9 декабря 2020 1 час назад, ZzzBep сказал: Не совсем понял честно что Вы имели ввиду. "Имеющиеся фото" - это фото, которые ранее были загружены в новостях. Каждое фото "привязано" к той новости, в которой было загружено и при удалении этой новости удаляются и фото, которые к ней были загружены. Цитата Ссылка на сообщение Поделиться на других сайтах
DENDIN 0 Опубликовано: 9 декабря 2020 Рассказать Опубликовано: 9 декабря 2020 Добавить в авторизацию через соц сети сервис Yahoo Цитата Ссылка на сообщение Поделиться на других сайтах
ZzzBep 18 Опубликовано: 10 декабря 2020 Рассказать Опубликовано: 10 декабря 2020 14 часов назад, MSK сказал: "Имеющиеся фото" - это фото, которые ранее были загружены в новостях. Каждое фото "привязано" к той новости, в которой было загружено и при удалении этой новости удаляются и фото, которые к ней были загружены. Это понятно, в таком случае ничего не найдет если нет. На нет ничего нет. Цитата Ссылка на сообщение Поделиться на других сайтах
MSK 289 Опубликовано: 11 декабря 2020 Рассказать Опубликовано: 11 декабря 2020 (изменено) 10.12.2020 в 10:39, ZzzBep сказал: Это понятно, в таком случае ничего не найдет если нет. На нет ничего нет. Похоже, что тебе совсем не понятно. Поясняю суть. Есть новость А и к ней загружено фото. Создаем новую новость Б и вставляем через поиск это фото. По каким-то причинам удаляется или вся новость А или именно это фото из нее. Результат - в новости Б тоже пропадает это фото. Изменено 11 декабря 2020 пользователем MSK Цитата Ссылка на сообщение Поделиться на других сайтах
nezov134 31 Опубликовано: 11 декабря 2020 Рассказать Опубликовано: 11 декабря 2020 Сделайте вход через Apple ID Цитата Ссылка на сообщение Поделиться на других сайтах
ZzzBep 18 Опубликовано: 12 декабря 2020 Рассказать Опубликовано: 12 декабря 2020 21 час назад, MSK сказал: Похоже, что тебе совсем не понятно. Поясняю суть. Есть новость А и к ней загружено фото. Создаем новую новость Б и вставляем через поиск это фото. По каким-то причинам удаляется или вся новость А или именно это фото из нее. Результат - в новости Б тоже пропадает это фото. Это видимо крайняя крайность и возможность такого сценария мала. Если я и ищу фото из существующих, то явно не собираюсь удалять. Как вариант так же можно сделать проверку фото перед загрузкой, если фото есть в базе не грузить повторно, брать существующее. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.