Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » ЧПУ 1 создает меньше нагрузку чем ЧПУ 2?

ЧПУ 1 создает меньше нагрузку чем ЧПУ 2?


     14.08.2018    чпу, чпу тегов    Все вопросы » Общие вопросы    1479

вопрос
Где-то в коде видел, что движок у меня тянет из БД все категории и по ним ищет потом подкатегорию для построения URL, если поставить ЧПУ 1, будет ли нагрузку меньше? Сейчас стоит ЧПУ 2.

Ответил: Sander


В плане производительности нет разницы.

11 комментариев

dmfranklin
Юзер

dmfranklin - 14 августа 2018 20:59 -

Просто если будет к примеру 50к категорий, то при просмотре полной новости постоянно из БД будут тянутся все категории, это не есть хорошо.

Sander
PHP-developer

Sander - 14 августа 2018 21:00 -

Если будет 50к категорий, то DLE хлопнется в обморок.

PS. Для справки. Категории тянутся ВСЕГДА. Они хоть и кешированы, то при загрузке каждой страницы сервер в памяти держит весь массив всех категорий.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

dmfranklin
Юзер

dmfranklin - 14 августа 2018 21:13 -

Для каждой новости в столбце category прописаны категории к которой относится новость, почему бы при загрузке полной новости не вытаскивать только эти категории? Что мне делать когда их будет 50к? Как-нибудь теперь можно безболезненно перейти на другую схему? (сейчас уже их количество приближается к 3к)

Sander
PHP-developer

Sander - 14 августа 2018 21:23 -

Вам нужен человек, который полностью разработает архитектуру сайта.
Где-то можно использовать категории, где-то доп.поля, где-то теги. Для чего-то и вовсе придется разрабатывать отдельную систему работы с данными.

Что мне делать когда их будет 50к?

А мне вот даже интересно стало попробовать, в какой момент сервер повиснет :) Что-то мне кажется что до 50к даже не дойдет.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

dmfranklin
Юзер

dmfranklin - 14 августа 2018 21:39 -

Зачем там что-то разрабатывать, я сейчас просто уберу запрос на выборку категорий и буду вытаскивать только те, что мне нужны, все пути поменяю где строятся и делов то. Меня больше пугает то, как отреагируют поисковики, в прошлый раз гугл когда я поменял ЧПУ, мне выдал сообщение, что на сайте присутствуют страницы дубликаты, а их там было не мало. И сайт вылетел из выдачи на полгода. Больше я им не стал заниматься.

Думаю если будет 50к категорий ничего не поменяется, нужна нагрузка посетителей, ибо запросы по выборке будут уже не по 0.01, а по 0.1(не проверял). Но для процессора и 100к записей ни о чём, он их быстро сортирует и перебирает, и вытаскивает. Вот при миллионной аудитории это уже будет загружать проц на полную катушку и начнутся загрузки страницы по 30 секунд. xD

Sander
PHP-developer

Sander - 14 августа 2018 21:53 -

Могу вам пожелать только удачи. Вас ждет просто колоссальный объем работ.

И по вопросу - тип ЧПУ без категории в адресе.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

dmfranklin
Юзер

dmfranklin - 14 августа 2018 22:10 -

Так ЧПУ1 не будет делать запрос на выборку категорий? Я же про это и спрашиваю, будет ли ЧПУ1 создавать меньшую нагрузку. Я решил спросить, потому что посчитал что кто-то уже столкнулся с такой проблемой ;)

Sander
PHP-developer

Sander - 14 августа 2018 22:17 -

Ваш вопрос эквивалентен подобному: "Если в эпицентре пожара я опущу руку в кружку с водой - она обгорит?".
Ответ: "Нет, не обгорит, но легче вам от этого не станет."

За сим я откланиваюсь.

SanDev.pro - мой блог.

Telegram: @sandev
Skype: Sander8804

dmfranklin
Юзер

dmfranklin - 14 августа 2018 22:29 -

хороший ответ

dj-avtosh
PHP-developer

dj-avtosh - 15 августа 2018 11:31 -

Мне было бы интересно поковыряться в такой нагрузке.

По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

dmfranklin
Юзер

dmfranklin - 15 августа 2018 12:03 -

Вчера сделал пару простых тестов, создал 13к категорий - не открылась вкладка редактирования новостей и вкладка добавления новости, категории, просто открывалась пустая страница без новостей или категорий, при бОльших категориях вылетала ошибка 502 bad gateaway, возможно данные просто не помещались.Сбавил до 10к, всё работало, правда, редактирование новостей и добавление создают большую нагрузку одним лишь своим открытием (в коде несколько foreach). Далее поднял кол-во категорий до 50к, страницы стали грузиться в 2 с лишним раза дольше, если страница грузилась 1-1.2 сек по результатам пингдом, то после стала грузиться 2-2.5сек и всё из-за того, что в init.php идёт проверка на наличие другого шаблона для категории, так что кто не пользуется может закомментировать данный участок кода, если много категорий и большая посещаемость.

	/*foreach ( $cat_info as $cats ) {
		if ($cats['skin'] != '') $allow_sql_skin = true;
	}*/


Нагрузка выросла в 9-10 раз при 100-150 просмотрах в минуту с 5% до 45-50% нагруженности CPU, думаю эти цифры вообще бессмысленны, поскольку у всех разные настройки скрипта и результаты могут быть сильно варьироваться. Если убрать подкатегории и оставить лишь ЧПУ 1, в принципе, нагрузка уменьшается не намного, поскольку для построения пути до новости по категориям и подкатегориям происходит в несколько итераций, если конечно не 50 или 100 подкатегорий создано.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх