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

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

rss

Вы не зашли.

Объявление

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

Wolverine
Модератор
Откуда: Домодедово
Зарегистрирован: 2008-10-13
Сообщений: 3538
Рейтинг :   160 
Профиль  Вебсайт

Оптимизация

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

Dimas написал:

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

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


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

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

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

Неактивен

 

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

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2788
Рейтинг :   115 
Профиль

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

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

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

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

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

Неактивен

 

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

Винни
Пользователь
Зарегистрирован: 2009-09-27
Сообщений: 52
Рейтинг :   
Профиль

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

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

Отредактированно Винни (2009-09-29 09:52:43)

Неактивен

 

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

vitaly
Администратор
Откуда: Россия
Зарегистрирован: 2008-10-08
Сообщений: 2788
Рейтинг :   115 
Профиль

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
Сообщений: 2788
Рейтинг :   115 
Профиль

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

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

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

Неактивен

 

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

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

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

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

Неактивен

 

Board footer

Powered by FluxBB

[ Generated in 0.007 seconds, 13 queries executed ]