| Вышел новый Пускач 0.2.4
Дата: 2011-10-20 01:13:00,
Автор: konstantin Сперва может показаться, что качество и правильность программного продукта - кода и архитектуры - вещи неосязаемые, субъективные и потому не очень полезные. На самом деле это понятия строгие и объективные, хотя и высокоуровневые. Возмем высокоуровневое утверждение, что производная константы равна нулю, оно верно. Каждый может это проверить, если проделает путь логических рассуждений от счета на десяти пальцах до производных. Естественно, для этого нужна некоторая подготовка. Аналогично, при некоторой подготовке разные люди вполне объективно могут разделять решения на более простые и более сложные, логичные и нелогичные, стремные и надежные. Как можно написать «производная десяти равна двадцати пяти», так можно написать и плохой неправильный код и нагородить неправильную архитектуру. Новая версия Пускача - это движение во вполне понятном направлении. Результат - это повышение потребительских качеств. Так в ходе архитектурных изменений были исправлены многие ошибки и повысиласть стабильность работы, а потребление ресурсов уменьшилось. Появилась и новая функциональность - помимо пула обработчиков (FastCGI-скриптов / программ) добавилась еще и очередь запросов, ждущих конкретного обработчика. На практике оказалось эффективнее одному скрипту «раскидать» образовавшуюся очередь запросов, чем запускать новые процессы при пиковой нагрузке. Распараллеливание эффективно, если рабочий процесс ждет завершения блокирующей операции, не потребляя при этом ресурсов процессора. Появилась возможность задать стартовую команду для каждого FastCGI-приложения, по маске, либо по умолчанию. Стартовая команда - это исполняемый файл, который вызывается для запуска нового рабочего FastCGI-процесса. Это может быть интерпретатор или скрипт для установки параметров среды. Так стал возможен запуск скриптов на PHP, смена пользователя, текущей директории и т.д. Помимо этого, Пускач научился «мягко» останавливаться, дожидаясь завершения обработки текущих запросов. А для выявления ошибок теперь каждая версия проходит нагрузочное тестирование. Новая версия является самой надежной и стабильной. Всем, кто работает со старыми версиями, очень рекомендуется обновиться. Что касается планов и перспектив на будущее, то их очень много. Современная вычислительная техника обладает огромной производительностью, но ПО часто является устойчивым и эффективным в определенном узком диапазоне входных воздействий. Сервер часто «ложится» не потому, что ему не по силам справиться с нагрузкой, а именно из-за того, что ПО вышло за границы устойчивости - рост нагрузки на технику не соответвует числу и ресурсоемкости запросов. Поле для поисков - введение метрик и определение количественных оценок для принятия решений: запустить параллельный процесс, или дождаться освобождения одного из запущенных процессов; сколько времени целесообразно держать бездействующий процесс; сколько параллельных процессов скрипта / программы эффективно запускать. Комментарии# krot: Ура!!! # nastyanastya21: Хорошая новость # igorek: Отлично! |