Как Не Стоит Делать Сайты На Netcat

Данная статья будет интересна в первую очередь тем, кто пользуется НетКат .

Однако эта информация может быть интересна и другим разработчикам.

Потому что во многом это относится и к другим системам.

Итак, недавно мне пришлось разобраться, почему сайт, разработанный на NetCat, стал медленно работать.

В процессе выяснилось, что для формирования главной страницы, ~150 запросов к базе данных ! Я сначала не поверил своим глазам, а потом ужаснулся.

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

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

  1. Нет необходимости использовать функцию s_list_class если есть хотя бы > 3 подобных звонка.

    Дело в том, что вызов такой функции приводит к нескольким запросам к базе данных (от 5 и более) (получение шаблона, данных компонента и т.д.).

    Если вам нужно отобразить данные с другой страницы на компоненте страницы, то лучше написать функцию для отображения этих данных в файле function.inc.php модуля по умолчанию.

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

    В общем, один вызов s_list_class может создать десятки запросов к базе данных! В зависимости от компонента, объекты которого отображаются.

  2. Забудьте об opt() .

    Использовать ( ? : ) Дело здесь в том, что даже если условие в opt вернуло false, код все равно будет выполнен, но его результат не будет отображен на странице.

  3. Будьте осторожны при использовании компонентов с полем «Файл».

    .

    При отображении списка объектов такого компонента запрос на получение данных о файле будет сделан столько раз, сколько отображаемых объектов.

    А если таких полей типа «файл» будет два, то запросов будет в два раза больше.

    Если три, то в три и т. д. Те.

    если у нас есть компонент «фотогалерея» и в нем 2 поля «файл», то для отображения последних 10 фотографий будет сделано более 20 запросов к базе данных В общем, запросы в цикле — это крайнее зло! Избегайте этого.

  4. Почти та же ситуация и с голосованием.

    При отображении опроса будет столько запросов к базе данных, сколько в ней вариантов ответов.

    .

  5. Путем создания новых компонентов, в которых затем будет осуществляться отбор и сортировка по разным условиям.

    поместите необходимые индексы в таблицу компонентов .

    Это может существенно ускорить его работу.

Тем не менее, на NetCat можно создавать довольно большие и сложные проекты.

Просто их должны создавать люди, действительно понимающие суть происходящих внутри процессов.

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

P.S. Обращение к разработчикам NetCat (если они это прочитают) .

Пожалуйста, избегайте циклических запросов к базе данных.

Особенно если заранее неизвестно, сколько итераций у него будет. Мне очень хотелось, чтобы эти проблемные функции были переписаны.

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

Теги: #CMS #netcat #веб-разработка #оптимизация #базы данных #wtf #wtf #разработка сайтов

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.