Проблема при добавлении новых полей в очень объемные компоненты NetCat

Если у вас сайт на NetCat и если у вас есть компонент, в котором находится очень много объектов (например, 400 тысяч) и если вдруг вы решили добавить в компонент новое поле, вы скорее всего столкнетесь с проблемой. На VPS она проявляется в виде 504 ошибки (вместо сообщения об успешном добавлении поля), а на виртуальном хостинге наверное все просто ляжет...

Дело в том, что Netcat видимо что-то там пишет во все объекты при создании поля, не знаю, что именно, интересующиеся могут проанализировать 675-701 строчки файла \netcat\admin\field\function.inc.php Этот процесс занимает время. Много времени, с учетом размера нашей базы. Очень много времени даже на VPS. update я стал умнее и сообщаю: это не NetCat пишет. Это просто добавляется новое поле в большую таблицу MySQL, что приводит к ее физической перезаписи, в это время в основном работает диск.

При этом сервер создает экземпляр процесса httpd, который занимается обслуживанием наших запросов. Поэтому у того, кто создает поле, вылетает 504 ошибка и на странице создания поля, и на всех остальных страницах сайта. А у остальных людей сайт в это время работает, но выдает сообщение "Ошибка в функции вывода объектов" во всех своих частях, где вызывается этот компонент или любой из его шаблонов.

Любопытно, что наш зависший процесс httpd очевидно в это время ждет ответа от MySQL, который продолжает выполняться, несмотря на 504 ошибку. Таким образом, если просто не закрывать окно браузера и не дергать сайт, все сработает (время ожидания около 5 минут на 4800 МГц. процессоре).

Итак, чтобы создать новое поле в компоненте с 400 тыс. объектов, надо сделать это, и не закрывать браузер, несмотря на 504 ошибку. В соседней вкладке открыть сам сайт (будет 504), и через 4-5 минут она должна заработать сама, без перезагрузки сервера. Что делать владельцам подобных баз, разместивших их на виртуальном хостинге, даже не знаю... Возможно, что ничего - может виртуальные хостинги умеют автоматически масштабироваться и обрабатывать такие кратковременные нагрузки с удвоенным рвением...

Что характерно, сервер (под управлением CentOS 6) умеет отличать браузеры. То есть при работе с сайтом с одного компьютера, но из двух разных браузеров, каждый из них будет обслуживаться отдельным экземпляром процесса httpd. Поэтому в одном браузере будет 504 ошибка, а в соседнем - работающий сайт. Для меня это стало откровением.

Блог

Что с Мастерхостом? Когда заработает?!

Этот вопрос всё чаще задают в Интернете начиная примерно с 12:00 дня 2 марта. А всё потому, что он накрылся!

далее

Автоматизированная Система Управления Бэкапами

Автоматизированная Система Управления Бэкапами позволяет добиться полного контроля над резервными копиями сайтов внутри инфраструктуры веб-студии. Если вы поддерживаете десятки сайтов на разных хостингах, без подобной системы вы не можете быть на 100% уверены в том, что каждый из них был корректно зарезервирован прошлой ночью.

далее

WebSocket: интеграция с NetCat

Хотите добавить на сайт под управлением CMS NetCat поддержку технологии WebSocket? Обращайтесь к нам! Посетители сайта смогут получать мгновенные уведомления о событиях сайта без обращений к серверу и перезагрузок страниц. Превратите свой сайт в интерактивную площадку, работающую в реальном времени!

далее

NetCat: техническая поддержка и доработка сайтов

Мы работаем с CMS NetCat уже больше 10 лет. У нас большой опыт и ответственный подход к делу.

далее

Весь блог тут