NetCat обогнали

Статус
В этой теме нельзя размещать новые ответы.
Недавно на форуме разработчика обсуждали смежную тему.
Недавно пришлось разбираться почему стал медленно работать сайт, разработанный на NetCat'e. В процессе выяснилось, что для формирования главной сраницы произоводилось ~150 запросов в БД.
Я сначала не поверил своим глазам, а потом пришёл в ужас.

После некоторых манипуляций удалось убрать около 100 лишних запросов.

Хочу рассказать о некоторых выводах и предостеречь некоторых разработчиков.

1. Не надо использовать, функцию s_list_class если подобных вызовов набирается хотя бы > 3 Дело в том, что вызов такой функции приводит к нескольким запросам к БД (от 5 и гораздо больше) (получить шаблон, данные компонента и т.п.) Если на странице нужно вывести данные из другого компонента, то лучше написать функцию для вывода этих данных в functions.inc.php дефолтного модуля. В подобном случае практически всегда можно обойтись 1 запросом.
Вообще, один вызов s_list_class может создавать десятки запросов к БД! В зависимости от компонента, объекты которого выводятся.

2. Забудьте про opt(). Используйте (<if> ? <true> : <false> )
Тут дело в том, что даже если условие в opt вернуло false, то код все равно будет выполнен, но не будет выведен на странице его результат.

3. Будьте аккуратны в использовании компонентов с полем "Файл". При выводе списка объектов такого компонента будет будет только раз сделан запрос на получение данных о файле, сколько объектов выводится. А если таких полей типа "файл" два, то и запросов будет в два раза больше. Если три, то в три и т.д.
Т.е. если у нас есть компонент "фотогалерея" и в нем 2 поля "файл" то для вывода 10 последних фотографий будет сделано больше 20 запросов к БД
Вообще, запросы в цикле - это крайнее зло! Избегайте этого.

4. Почти та же ситуация с голосованием. При выводе опроса будет столько запросов к БД, сколько вариантов ответа в нем сделано.

5. Создавая новые компоненты в которых потом будет осуществляться выборка и сортировка по разным условиям поставьте необходимые индексы для таблицы компонента. Это может существенно ускорить его работу.


Сам могу сказать, что занимался разработкой на 4-х разных CMS + Ror + CodeIgnitor - NetCat очень удобен для небольших и средних проектов без машапов и интеграций.
По скорости вопросов не было.
 
Недавно на форуме разработчика обсуждали смежную тему.

2. Забудьте про opt(). Используйте (<if> ? <true> : <false> )

По-моему впервую очередь это касается opt_case()! В некоторых ситуациях использование функции opt() - оправдано и что самое гланое удобно.
P.S.: opt_case() - велосипед от NetCat'a.
 
  • Заблокирован
  • #44
эх жалко что почти все цмски вначале подают надежды а патом в итоге превращаются в неповоротливый хлам (
 
пробовал из этих систем 3, больше всего нравится netcat ее легко можно настроить под любой проект, скоро должна выйти 4 версия и посмотрим какая она станет!
 
  • Заблокирован
  • #46
уже 3й месяц использую NetCat, могу сказать, что система действительно гибкая и быстрая. Техподдержка очень дружелюбная и всегда помогает! Скоро выйдет 4я версия с хешированием и комментариями, вот тогда точно все будет вери гуд :ay:
 
Как говорил Бисмарк: "кто любит колбасу и законы, не должен видеть как они готовятся", никогда не верил подобным обзорам.
Нравиться кот, используй. в конце концов определись: тебе нужна знакомая и удобная система или рекорды по скорости.
 
бред сивой кобылы.
вы почитайте форум юми.
там же полный ппц.
30% - жалобы на баги.
30% - жалобы на скорость.
20% - жалуется на то что система впринципе работает не так как надо.
10% - цены
и еще 10 прочее
на скорость нетката не жаловался еще никто.
да и баги находят очень редко

А вот с этим я не согласен, разработчики стримительно движутся в перед, и производительность подняли за счет переработки движка версия 2.7 в корне изменненый функционал админки и движка, и это не пиар, я сам пользуюсь юми, уже больше года. Да ранее форум был забит жалобами и проблемами а у кого их нет, дело в том что не ошибается тот кто ничего не делает, а они делают, и устраняют все недочеты. И таких как юми, 1с, неткат, единицы а вот кто будет лидером еще посмотрим.
Лично я отдаю свой голос за юми. А на форум смотреть вообще не нужно, т.к. его уже не поддерживают, поддержка клиентов ведется в тикетном режиме, и сейчас задумались над созданием сообщества пользователей юми. А на форуме либо ламеры вопросы задавали либо, специалисты которыее находили баги и сообщали о них в вишлист.
 
Использую netcat со 2 версии....
Раньше система действительно оставляла желать лучшего...
А сейчас разработчики движуться семимильными шагами...и баги устаняются оперативно достаточно, и система в общем стала намного лучше и стабильнее
 
Использую netcat со 2 версии....
Раньше система действительно оставляла желать лучшего...
А сейчас разработчики движуться семимильными шагами...и баги устаняются оперативно достаточно, и система в общем стала намного лучше и стабильнее

Я тоже пользовался netcat'ом второй где-то версии. Но когда от них ушел главный идеолог и разработчик, поддержка превратилась в неизвестно что. Плюс очень напрягало то, что как только выходишь за пределы более-менее стандартных задач и нужно что-то кастомное, то неткат аж вообще не был к этому приспособлен. Ни тебе системы хуков, ни тебе какой-то возможности экстендить классы. Да и про кэширование ничего вообще слышно не было.
Но вчера возникла задача - снова взяться за него, поэтому буду сейчас изучать, что улучшилось, что там семимильного.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху