ПроизводительностьПроизводительность — это временная характеристика. Когда фиксируются те или иные события (прерывания, сообщения, пользовательские запросы, временные промежутки), система должна на них реагировать. Характеристик поступления событий и реакций на них великое множество, но, по сути, вопрос заключается в том, за какое время система справляется с реакцией на то или иное событие. Среди факторов, заметно осложняющих производительность, следует выделить значительное количество источников событий и образцов поступления. Источниками событий могут выступать запросы пользователей, которые, в свою очередь, делятся на поступающие из сторонних систем и из рассматриваемой системы. Сетевая система финансовых услуг имеет источником поступающих событий своих пользователей (иногда в количестве от десятков до сотен тысяч). Система управления двигателем, регулярно получающая разного рода запросы, должна одновременно следить за положением цилиндра в момент зажигания и характеристиками топливо-воздушной смеси, которая должна обеспечивать максимальную мощность при минимальном загрязнении воздуха. Что касается сетевой финансовой системы, то здесь реакцией может быть показатель количества транзакций, обрабатываемых за одну минуту. В системе управления двигателем в этой роли может выступать изменчивость момента зажигания. Как бы то ни было, образцы поступающих событий и реакций поддаются систематизации, в результате которой появляется язык конструирования общих сценариев производительности. Сценарий производительности начинается с поступающего в систему запроса на обслуживание. Для выполнения этого запроса требуется затратить некие ресурсы. Одновременно система может обслуживать другие запросы. Образцы поступления событий делятся на периодические и непериодические. Периодическое событие, к примеру, может происходить каждые 10 мс. Такого рода события чаще всего встречаются в системах реального времени. Непериодические события поступают согласно некоему вероятностному распределению. Кроме того, события иногда происходят случайно — по образцу, не подающемуся периодической или непериодической систематизации. Путем варьирования образца поступления событий можно моделировать ситуацию множества пользователей и прочие факторы нагрузки. Другими словами, с точки зрения производительности системы, подаст ли один пользователь за установленный период времени 20 запросов или за то же время по 10 запросу подадут два пользователя, — не имеет никакого значения. Существен лишь образец поступления на сервер и зависимости в рамках запросов. Реакция системы на стимул может характеризоваться задержкой (временным промежутком между поступлением стимула и реакцией на нею со стороны системы), предельным сроком обработки (к примеру, в системе управления двигателем топливо должно воспламениться в тот момент, когда цилиндр находится в определенном положении), пропускной способностью системы (например, количество транзакций, которое система способна обработать за одну секунду), неустойчивостью реакции (диапазоном задержек), количеством событий, не обработанных вследствие перегруженности системы, а также количеством потерянных по этой причине данных. Обратите внимание — то обстоятельство, является ли система сетевой или автономной, здесь не учитывается. То же самое (пока что) можно сказать о конфигурации системы и потреблении ею ресурсов. Эти вопросы находятся в зависимости от ряда архитектурных решений, которые мы рассмотрим в главе 5.
|