КРИТИЧНО ДЛЯ БИЗНЕСА
Кристина Комафорд
Даже если создание сети intranet увенчается успехом, все равно сохранится вероятность того, что вы будете генерировать больше транзакций, чем запланировано. В связи с этим я хочу предложить вашему вниманию руководство по планированию приложения для intranet, чтобы его успешная работа не достигалась ценой снижения производительности.
1. Определите, как будет использоваться приложение.
Насколько интенсивным будет использование? Максимально - 24 часа в сутки, 7 дней в неделю, реально же нагрузка будет меньше этого уровня. Будет ли приложение использоваться в основном для запросов или же для обновления данных? Будет ли у вас много категорий пользователей, имеющих различные потребности (просмотр страниц, запросы, обновление данных)?
2. Определите количество и тип транзакций.
Это позволит узнать, сколько процентов пользователей просматривают Web-страницы, осуществляют запросы или обновляют базы данных. Попробуйте рассмотреть HTML-страницу как объект, имеющий одну или несколько кнопок, нажатие на которые может вызвать транзакции. Определите количество выборок данных, запросов и коррекций, приходящееся на страницу. Рассмотрите все страницы, к которым может обратиться пользователь, и оцените число транзакций, которые он будет генерировать в минуту.
3. Определите подходящую архитектуру.
Допустим, что большинство пользователей считают приемлемым две секунды на ожидание ответа при максимальной загруженности линии. Предположим далее, что уровень загрузки процессора сервера при этом должен быть в пределах 10%, чтобы остальные 90% были предоставлены пользователям для работы. Средний набор транзакций представляет собой комбинацию из запросов и коррекций. При запуске транзакции с Web-страницы Web-сервер отсылает ее на сервер приложений, который задействует обработчик транзакций (transaction processor, TP) для обработки запроса. TP, в свою очередь, передает запрос диспетчеру запросов (request broker), который активизирует сервер данных (data server, DS) для предоставления доступа к соответствующему источнику данных. Если ранее к этому источнику уже были обращения, то данные могут находиться в кэше. Если нет, то они подкачиваются. (Поскольку СУБД основной массы поставщиков не поддерживают большого количества связей, я бы настоятельно порекомендовала выбирать связующее ПО, позволяющее кэшировать связи баз данных.)
При использовании вышеупомянутой архитектуры один TP может обрабатывать примерно 5 запросов или 2 коррективные транзакции в секунду. Обработка смешанного набора транзакций происходит со скоростью 3 транзакции в секунду. (На скорость обработки транзакции будет оказывать значительное влияние компоновка вашей базы данных.)
Давайте применим эти правила к автомобилестроительному предприятию со штатом из 200 000 работников, которому требуется спроектировать архитектуру сети intranet для HR-системы, способную поддерживать 500 транзакций в минуту, то есть около 8 транзакций в секунду. Если принять за норму скорость, равную 3 транзакциям в секунду, понадобится 3 TP. А при 10%-ном уровне использования ресурсов процессора необходимо соответственно 30 TP. Обычно для поддержки первого TP требуется 20 Мб ОЗУ, а для каждого последующего - по 6 Мб, то есть всего понадобится 194 Мб ОЗУ. Для кэширования связей базы данных требуется еще от 3 до 4 Мб ОЗУ на каждую связь.
В результате получается следующее. На предприятии должна быть создана распределенная архитектура, в которой используется три сервера Compaq с двумя процессорами Pentium Pro 200 МГц, 96 Мб ОЗУ и 2 Гб НЖМД каждый, работающие под Windows NT 4.0, SQL Server и Internet Information Server корпорации Microsoft. Все вместе они обеспечивают обработку 500 транзакций в минуту при уровне загрузки ЦПУ 10%, обслуживают 200 000 работников предприятия и стоят $25 000. Напоминаю, что это относится только к аппаратному обеспечению для серверов приложений - серверы баз данных и Web-серверы требуют своей аппаратуры.
Если вам удастся наилучшим образом сконфигурировать сеть intranet, позволяющую обрабатывать большие объемы транзакций, вы будете изумлены, осознав, чего вы смогли добиться.
Кристина Комафорд
С Кристиной Комафорд можно связаться по адресам: http://cc@christine.com или http://www.christine.com.