Проблема при добавлении новых полей в очень объемные компоненты 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 ошибка, а в соседнем - работающий сайт. Для меня это стало откровением.

Блог

Tilda Module: интеграция NetCat с Tilda.cc

Представляем нашу новую разработку, модуль интеграции CMS NetCat с платформой Tilda.cc. Модуль дает возможностью полуавтоматически размещать классные лендинги прямо в структуре вашего сайта!

далее

Как оптимально заархивировать файлы, чтобы распаковать их средствами ISPmanager?

В определенных случаях файлы выгоднее заливать на веб-сервер в виде архива. Во-первых, если данные хорошо сжимаются, или же просто файлов очень много, это сократит время заливки. Во-вторых, в любом случае это обезопасит данные от случайного повреждения, так как при распаковке архива происходит проверка его целостности с помощью контрольной суммы (CRC). Однако, не вполне понятно, какой формат архива и тип сжатия выбирать? Мы провели небольшое экспериментальное исследование на эту тему.

далее

Как расшифровать бэкапы, зашифрованные ISPmanager?

В ISPmanager версии 5.52.0 и старше, реализована новая система резервного копирования, построенная на основе некоей ISPtar. И работает она... своеобразно. Попробуем разобраться, как именно.

далее

Типовой сайт по раскрытию информации по Приказу ФСФР 22.06.2005 № 05-23/пз-н

Представляемый программный комплекс предназначен для российских УК ПИФ (управляющих компаний паевого инвестиционного фонда). В соответствии с требованиями законодательства, такие УК обязаны иметь сайт по раскрытию информации, на котором будет регулярно публиковаться определенный набор документов, касающихся их деятельности. И не только публиковаться, но и своевременно отправляться в Архив, а кроме всего прочего должно вестись журналирование всех этих действий. Иначе -- плохо, иначе -- нарушение действующего законодательства, наказания, штрафы, отзыв лицензии и так далее.

далее

Весь блог тут