Факультет вычислительной техники и информатики
Специальность: Компьютерные системы и сети
Тема выпускной работы:
Научный руководитель: Аноприенко Александр Яковлевич
Реферат по теме выпускной работы |
||||
Введение | ||||
"В эпоху стремительных технологических перемен планирование нагрузки становится все более необходимым.Проактивный подход поможет вам подготовиться к будущему." Фредерик В. Шолл | ||||
В современном мире цифровых технологий все большую роль начинает отыгрывать внедрение интернет и сетевых технологий во все сферы повседневной жизни человека. В современном мире, где успешность многих проектов связано с их стабильность и возможностями в интернет инфраструктуре, многое зависит от возможных мощностей. Если ранее при внедрении к примеру нового Интерне ресурса, у разработчиков была возможность добавлять мощность процессе плавного перевода в активное состояние, то есть до перевода на систему всех пользователей. То сейчас таких возможностей нет. На данном этапе развития цифровых технологий где время измеряется уже годами интернета (один год которого равен четверти календарного) появляется необходимость проактивного планирования ожидаемых нагрузок, с расчетом как текущего количества пользователей которые будут переводиться на систему, так и с учетом появления новых. Усложнение современной инфраструктуры Интернет и чрезвычайно быстрые темпы роста интенсивности ее использования приводят к постоянному росту требований к аппаратным и программным средствам. В этих условиях особую актуальность приобретает эффективность использования имеющихся ресурсов. Кто - то возможно скажет что на данном уровне развития технологии, намного проще использовать ресурсы с запасом. А по мере необходимости, к примеру на 80% мощности, просто увеличивать аппаратные средства в 2 раза. Никто не сможет оспорить что такая методика обширно распространена на данный момент, но данная методика может хорошо себя показать на сравнительно небольших проектах. А возьмите, что нибуть аналогичное к примеру официальному WOW (World Of Warcraft), всемирно известному ресурсу фирмы Blizzard. Это ресурс поддерживает множество сайтов, сервер on - line RPG с многомилионным количеством пользователей ежедневно. Сервера с Терабайтами информации, огромными по мощности процессорами, и параметрами, которые можно считать мечтой любого геймера, или просто человека который знает как их использовать. Многие скажут, что финансовое положение Blizzard позволяет повысить эти параметры в несколько раз и не заметить, но давайте учитывать, что данный проект создавался с целью заработка, а не таких трат. Также заметим, что такими активами данная компания не обладала со старта, когда WOW только задумывался. А также учтем тот факт, что на данный момент компьютерное оборудование морально стареет с такой скоростью, что буквально сегодняшние идеалы через год станут посредственностью. И Вкладывать огромные финансы в "запасаемые впрок" мощности, аналогично выбрасыванию активов на ветер.
| ||||
Актуальность | ||||
В современном мире Интернет все больше проникает в повседневную жизнь человека. Сейчас никого уже не удивишь персональной страничкой, блогом, электронным счетом и т.п. Все больше предприятий, желают иметь собственную страничку, не только из-за престижность, но и по той причине, что это полезно для развития бизнеса. А учитывая скорость развития информационных технологий ранние методики все больше устаревают, и требуется разработка новых методов и способов настройки и расчетов которые соответствовали своему времени. Разрабатываемые методики преследуют несколько целей, а именно повышение производительности, оптимизацию инфраструктуры, понижение затрат на "апгрейд" и техническую поддержку систем.
| ||||
Научная значимость | ||||
Поиск и анализ с последующей разработкой методов расчета серверной инфраструктуры, является неотъемлемой частью научного исследования, которое впоследствии позволит планировать требования к мощности сервера, из расчета необходимой нагрузки, а также на базе имеющихся мощностей рассчитывать критические нагрузки. Что позволит ограничивать нагрузку на сервер, для сохранения его работоспособности. Своевременно реагировать на повышение нагрузки на сервер, способной негативно повлиять на работоспособность сервера. А именно привести к его "падению". Что позволит своевременно реагировать, то есть вовремя повысить текущие мощности для адекватного реагирования и поддержания работоспособности.
| ||||
Прямая та обратная цели исследования | ||||
При решении проблем, связанных с повышением эффективности Интернет ориентированной сетевой инфраструктуры приходится решать одну из 2-х задач: Прямая задача: при заданных характеристиках аппаратных средств (и вообще инфраструктуры) определить оптимальную и пиковую нагрузку. Данный вариант наиболее ориентирован на вопросы расширения и модернизации. Обратная задача: зная желаемую нагрузку, определить требуемые характеристики инфраструктуры. Данный вариант наиболее действенен для ситуаций организации новой инфраструктуры при известных параметрах. Обе задачи могут решаться как в статике, так и в динамике. В случае динамического расчета процесс разбивается на набор определенных критических интервалах, для которых необходимо найти достаточно эффективное решение. Соответственно можно вести речь о прямом методе решения задачи обеспечения эффективности, предполагающем расчет возможной нагрузки при заданных характеристиках аппаратных и программных средств, и обратном, позволяющем определить требования к аппаратным и программным средствам исходя из характеристик имеющейся и прогнозируемой нагрузки. Но практике наиболее целесообразным является использование комбинированного метода, согласно которому вначале определяется диапазон возможных нагрузок для некоторого набора характеристик инфраструктуры, а затем уточняются конкретные требования к аппаратным и программным средств исходя из планируемой нагрузки.
|
||||
Объект исследования | ||||
Различные по параметрам серверные конфигурации. А именно централизованные серверные инфраструктуры, рассредоточенные инфраструктуры с различными каналами связи. Влияние качества каналов связи на временные параметры работы серверов. Влияние на работу серверов различных по типу и «качеству» пользователей. Конечно же рассмотреть все возможные конфигурации (аппаратную и программную) серверной инфраструктуры. По - этому будут рассмотрены наиболее распространенные варианты, с возможностью последующей модернизацией для необходимой конфигурации.
|
||||
Анимация 40 кадра, задержка 0,5 сек |
||||
Научная новизна | ||||
Разработка новых алгоритмов и методик расчета серверных параметров, а также "апгрейд" уже устаревших на данный момент. Они открывают огромные возможности в области оптимизации интернет-ориентированных (и не только проектов), что позволит не только сократить финансовые затраты на повышение имеющихся мощностей, но так же и иметь возможность контролировать отдельные аспекты, и администрировать не всю инфраструктуру в целом, но и ее отдельные части. А если учитывать тот факт, что данные аспекты оптимизации, рассматриваются исключительно эмпирическим путем, то разработка точных алгоритмов позволит сократить временные затраты для данных расчетов в несколько раз. А с учетом широко распространенного фактора повременной оплаты труда, данные алгоритмы позволят заказчику сократить финансовые затраты на оптимизацию и разработку серверной инфраструктуры предприятия.
|
||||
Основные результаты | ||||
На данный момент в стадии разработки и тестирования находиться методика расчета мощности процессора, основываясь на статистических данных про наборы запросов к серверу, и предполагаемому количеству ожидаемых пользователей системы. На данный момент методика позволяет спрогнозировать требуемые мощности основываясь, на количестве пользователей в день, а так же рассчитать какое количество пользователей способна поддерживать базовая конфигурация. И какой она должна быть для поддержки заданного количества пользователей. При более детальном рассмотрении становиться понятно, что для адекватного обзора и расчета системы эту задачу можно разбить на подзадачи: 1. Описание текущей конфигурации системы. 2. Анализ предметной области и выявление требований к системе. 3. Планирование размера ресурсов. Так как предполагается рассчитывать различные конфигурации систем, перейдем сразу к следующему пункту, а именно требованиям. Основное требование для интернет системы - время ответа WEB сервера на запрос пользователя. Время ответа складывается из времени выполнения запроса на сервере, времени ожидания выполнения запроса и времени передачи ответа по сети. Так как в нашем случае все тестирование проводится в рамках интернет сети и объем выдаваемой WEB сервером информации невелик, то временя передачи ответа по сети можно опустить. Время ответа должно быть меньше или равно 5 секундам. Кроме требований по предметной области существуют и технические требования которые должны соблюдаться в процессе тестирования. Основным техническим требованием является использование процессора не более чем на 90%. Планирование размера ресурсов. Задачу по планированию конфигурации для программных систем возможно решать двумя основными путями. Первый - традиционный подход (Conventional Approach), подразумевает использование нескольких конфигураций для тестирования с последующим сравнением полученных на каждой результатов тестов и выбора оптимальной конфигурации. Другой метод планирования конфигурации - метод анализа стоимости транзакции в системе (Transaction Cost Analysis), его задача определить стоимость в ресурсах для каждой операции производимой в системе пользователем. Традиционный подход состоит из двух видов тестов: Stress test - задача теста определить максимальную нагрузку на систему при данной конфигурации и измерить используемые при этом ресурсы системы: пропускную способность , загруженность процессора и т.п. Тест проводится в несколько итераций с постепенным повышением нагрузки например 1000 пользователей, 2000 пользователей, 3000 пользователей. После каждой итерации проверяются показатели работы системы, если показатели превышают указанные допустимые пределы (например CPU Utilization> 90%) то нагрузка вызвавшая это считается критической для данной конфигурации и дальнейшие итерации прекращаются. Scalability test - задача теста подобрать необходимую конфигурацию для системы. Тест состоит из нескольких итераций Stress tests на разных конфигурациях. Если при критической нагрузке на данной конфигурации не выполняются требования к некоторым параметрам работы системы, то конфигурация считается неприемлемой и подбирается новая, в которой наиболее дефицитный ресурс наращивается. Анализ стоимости транзакций. Для решения задачи определения и прогнозирования конфигурации наиболее оптимальным методом, на мой взгляд, является анализ стоимости транзакции в системе (Transaction Cost Analysis). Задача метода определить сколько ресурсов будет стоить выполнение каждой транзакции в системе. И на основе полученной информации спрогнозировать зависимость необходимых ресурсов от нагрузки. Воспользуемся этим методом для решения поставленной задачи. План выполнения анализа 1. Определить время работы в системе одного пользователя(время сессии). 2. Определить транзакции, которые выполняет пользователь в системе. 3. Определить загрузку системы для каждой транзакции (стоимость транзакции). 4. Определить профили использования системы. 5. Определить стоимость ресурсов для одного пользователя в системе. 6. Определить количество пользователей в сутки. 7. Определить максимальное количество одновременных пользователей. 8. Прогнозирование необходимого количества ресурсов для указанного количества пользователей. Определение транзакций, которые выполняет пользователь в системе. Список этих транзакций определяется исходя из функциональности системы. Операциями могут являться: поиск, запрос определенной страницы на сайте и пр. Определение времени работы в системе одного пользователя(время сессии). Этот параметр определяется при анализе лог файлов системы. Так же параметр можно определить, анализируя бизнес логику системы. Определение загрузки системы для каждой транзакции (стоимость транзакции). На этом этапе для каждой транзакции необходимо определить стоимость в ресурсах. Для этого каждая транзакция выполняется в системе отдельно какое-то время, не менее 3 минут. Во время ее выполнения фиксируются показатели системных датчиков. После чего анализируются средние показатели датчиков. Если они в пределах установленных в требованиях ограничений, то нагрузка увеличивается и проводится еще один тест. Если ограничения превышены то средние показания датчиков записываются таблицу. После чего рассчитать стоимость транзакции в секунду. Определение профиля использования системы. Под профилем использования подразумевается совокупность операций выполняемых пользователем за сессию в системе и их количество. Например, система может использоваться в режиме активного поиска информации, или в режиме просмотра определенных документов. Определение стоимости ресурсов для одного пользователя в системе. На основе профиля использования и стоимости каждой транзакции в системе определим стоимость одного пользователя в системе. Определение максимального количества одновременных пользователей. Под одновременными пользователями подразумеваются пользователи, которые в один и тот же промежуток времени выполняют транзакции в системе. Количество таких пользователей определяется из лог файлов системы, на основе требований к системе. Так же можно приблизительно спрогнозировать этот параметр исходя из правила 80/20, что означает - 80 процентов пользователей могут выполнять транзакции в 20 процентов времени. Определим среднее количество одновременных пользователей системы. Далее следует прогнозирование необходимого количества ресурсов для указанного количества пользователей. На основе выполненных действий и построенных таблиц мы можем получить расчетные данные и ответ на вопрос «Какими параметрами процессора, должна обладать система для поддержания заданного количества пользователей?».
|
||||
Заключение | ||||
Данная работа позволит сформулировать методики и пути, повышения мощностей различный серверов, а также снизить затраты которые могут возникнуть при необходимости повышения данных мощностей. А также упростить процессы модернизации и администрирования серверной инфраструктуры. Что в наше время интеграции интернет в жизни человека. Благодаря данной работе мы сможет достигнуть наибольших результатов при минимальных затратах времени, финансов и нервных клеток(которые кстати не восстанавливаются).
|
||||
Литература | ||||
1. Фредерик В. Шолл "Азбука планирования нагрузки." статья в жулнале LAN №8 1996г. Источник 2.Дэниел Менаске, Виргилио Алмейда. "Производительность Web-служб. Анализ, оценка и планирование". Перевод с английского. СПб: ООО "ДиаСофтЮП" 2003г. 3. Расчет требований к производительности и ресурсам для сред поиска. Статья TechNet от 24.01.08 4. Расчет требований к производительности и ресурсам для сред поиска. 5. Аппаратные требования к серверу с VPN-сервером на ISA 2006 и Тerminal server 2003. 6. Windows Server 2003 Terminal Server Capacity and Scaling. 7. Расчет требований к производительности и мощности для сред сети Интернет 9. Performance and capacity requirements for Hyper-V 10. Джефф Хорвиц. UNIX - системы. Проектирование, конфигурирование и формирование технической политики информационного центра. Перевод с англ. К.: ООО "ТИД "ДС" 2004г |