Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2008-11-07 02:06:06

Wolverine
Модератор
Откуда Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Оптимизация

Вот увидел на форуме 2z топик

Dimas пишет:

Глянул в бд - все новости храняться непропарсенными.

[код]текст[/кодъ]


Т.е. перед каждым выводом новости запускается парсер (2z\includes\classes\parse.class.php), который выполняет преобразование к html формату...

Но ведь операции записи в базу выполняются гораздо череже, нежели операции выборки, т.е. если сначала коды форматирования стиля преобразовывать к гипертексту, то можно избежать выполнения участков кода очень большое число раз. И вывод новости сократить всего лишь до выборки из базу нужных строк, тем самым снизив нагрузку на сервер и ускорив работу движка...

Что Виталик думаешь по этому поводу?

Не в сети

#2 2008-11-07 03:07:40

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Оптимизация

Да ничего не думаю.
Этот вопрос был одним из первых, который возник у меня в самом начале работы над 2z.

Преимущества хранения в обработанном виде:
- почти все BB коды можно заранее "распарсить" и не тратить на эту операцию время в будущем

Недостатки хранения в обработанном виде:
- необходимо хранить также оригинальный текст новости (т.е. вместо одного медленного поля с содержимым новости, у нас будет 2 таких поля. это отрицательно отразится на производительности БД)
- не все BB коды можно распарсить заранее: есть код [hide] .. [/hide], есть BB коды, которые создаёт плагин finance.

После некоторого размышления я пришел к выводу, что такая оптимизация себя не окупает.
p.s. когда я закончу работы с оптимизацией ядра, то займусь и этим вопросом - буду проводить детальное тестирование о оценку производительности при использовании этих подходов. Возможно, энокомия всё-таки будет.

Не в сети

#3 2009-09-29 09:52:18

Винни
Участник
Зарегистрирован: 2009-09-27
Сообщений: 53
Рейтинг :   

Re: Оптимизация

А можно узнать для чего в бд в изображениях используется два поля   name  и orig_name а не одно?

Изменено Винни (2009-09-29 09:52:43)

Не в сети

#4 2009-09-29 11:57:58

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Оптимизация

name - имя файла с которым оно сохранено на диске
orig_name - оригинальное имя файла

Позволяет сохранить оригинальное имя при использовании режима "Подставить случайное число".

Не в сети

#5 2009-10-03 22:42:56

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Оптимизация

Недостатки хранения в обработанном виде:
- необходимо хранить также оригинальный текст новости (т.е. вместо одного медленного поля с содержимым новости, у нас будет 2 таких поля. это отрицательно отразится на производительности БД)

А что мешает при редактировании новости распарсенный вариант конвертировать обратно в BB-коды? В DLE, к примеру, так сделано.

Не в сети

#6 2009-10-03 23:36:26

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Оптимизация

Мешает тот факт, что при каждом редактировании часть информации может банально потеряться.
К примеру, в случае когда новость одновременно содержит и BB коды и чистый HTML.

Вариант запретить так поступать, imho, не очень хороший вариант.

Не в сети

#7 2009-10-03 23:37:54

ROZARD
Модератор
Откуда Россия, Астрахань
Зарегистрирован: 2008-10-13
Сообщений: 1,523
Рейтинг :   82 
Сайт

Re: Оптимизация

Да вообще не стоит смотреть в сторону DLE...

Не в сети

Подвал раздела

Работает на FluxBB