Исследование функционирования сетевого стека операционной системы Windows под воздействием статической нагрузки
Автор: Бородин Антон Александрович
Рубрика: 1. Информатика и кибернетика
Опубликовано в
IV международная научная конференция «Технические науки в России и за рубежом» (Москва, январь 2015)
Дата публикации: 26.12.2014
Статья просмотрена: 47 раз
Библиографическое описание:
Бородин, А. А. Исследование функционирования сетевого стека операционной системы Windows под воздействием статической нагрузки / А. А. Бородин. — Текст : непосредственный // Технические науки в России и за рубежом : материалы IV Междунар. науч. конф. (г. Москва, январь 2015 г.). — Москва : Буки-Веди, 2015. — С. 1-5. — URL: https://moluch.ru/conf/tech/archive/124/7001/ (дата обращения: 22.11.2024).
Повсеместное внедрение информационных технологий является отличительной чертой современной цивилизации. Они позволили рационализировать и оптимизировать все сферы деятельности человека. Глобальная сеть стала новым полем для персонального воздействия на личность. Информационные системы наблюдают за поведением человека в глобальной сети, прогнозируют и предугадывают его действия. Несмотря на опасности, они являются важнейшим компонентом современной цивилизации и их функционирование является исключительно важным вопросом.
Надежность информационных систем обеспечивается преимущественно за счет тестирования. Под ним понимается процесс исследования системы с целью проверки соответствия ее поведения, предъявляемым требованиям. Современные информационные системы являются сложными объектами и существует большое количество видов тестирования, исследующих отдельные составляющие систем. Для информационных систем глобальной сети большое значение имеет нагрузочное тестирование. Результаты данного вида тестирования позволяют сделать выводы о качестве работы и характеристиках информационной системы под влиянием эксплуатационной нагрузки.
Работы исследователей, занимающихся вопросами нагрузочного тестирования можно разделить на следующие группы:
- разработка новых способов создания реалистичных тестов и моделей нагрузки [1, с.159;2, с.77;3, с.63;4, с.188;5, с.43;6, с.89;7, с.353];
- разработка эффективных способов анализа результатов [8, с.421;9, с.143];
- разработка специализированных методик нагрузочного тестирования [10].
Таким образом, их усилия направлены практически на все стадии нагрузочного тестирования. В тоже время, анализ литературы и практики показывает, что вопросам создания нагрузки и сбора результатов уделяется недостаточное внимание. В настоящее время решение этих задач осуществляется с помощью обычных компьютерных узлов. В этом случае, большое влияние на процесс генерации нагрузки и сбора результатов оказывает сетевой стек операционной системы, который обеспечивает подготовку и отправку сформированного тестового запроса, а также прием и обработку ответа от нее. Производительность сетевого стека во многом влияет на нагрузочные способности компьютерного узла. В данной статье представлены результаты экспериментов по исследованию сетевого стека операционной системы Windows при статичной генерации запросов.
В ходе первого эксперимента генерируются запросы со статичной интенсивностью, величина которой повышается с интервалом в 5 минут. Каждый запрос содержит временную метку, характеризующую момент перед отправкой в сетевой стек. С помощью перехватчика пакетов фиксируется момент времени, когда запрос покидает сетевой стек. Исходя из разницы этих двух величин, происходит расчет времени обработки. Драйвер перехватчика пакетов winpcap был модифицирован таким образом, чтобы прикладные приложения могли иметь доступ к счетчику времени [11]. Целью данного эксперимента является исследование поведения сетевого стека исходящих данных.
В ходе второго эксперимента запросы генерировались на отдельном узле и каждый запрос содержал порядковый номер. На исследуемой системе запускалось приложение сервер, которое регистрирует момент времени выхода запроса из сетевого стека. Перехватчик пакетов фиксирует момент времени перед поступлением запроса в сетевой стек. В данном случае, исследовалось поведение сетевого стека входящих данных. С помощью порядкового номера сопоставлялись результаты приложения сервера и перехватчика пакетов.
Для эксперимента применялись следующие узлы:
- Экспериментальная платформа № 4, компьютер Intel Core i7 920 2.67 ГГц, DDR3–1066 9ГБ, Windows 8.1;
- Экспериментальная платформа № 5, ноутбук Samsung NP355V5C-S0L AMD A8–4500M 1900 МГц, DDR3–1600 6144 ГБ, Windows 8.
Результаты проведенных экспериментов представлены в таблицах и на графиках. Для сравнения, ниже также представлены результаты для экспериментальной платформы № 1 из [12, С.19]. Платформы № 4 и № 1 различаются лишь используемой операционной системой. Экспериментальная платформа № 1 использует CentOS 6.4.
Таблица 1
Результаты эксперимента с сетевым стеком исходящих данных
Платформа |
Временной участок |
Средняя Интенсивность |
Среднее время обработки, мкс |
Обработано пакетов |
ЭП № 4 |
0–5 минут |
977 |
14,15 |
293 121 |
5–10 минут |
4488 |
13,61 |
1 351 002 |
|
10–15 минут |
8199 |
13,4 |
2 459 877 |
|
ЭП № 5 |
0–5 минут |
954 |
26,14 |
286 471 |
5–10 минут |
4121 |
24,29 |
1 240 505 |
|
10–15 минут |
7079 |
23,41 |
2 131 020 |
|
ЭП № 1 |
0–5 минут |
902 |
11,14 |
270 860 |
5–10 минут |
7436 |
5,95 |
2 245 715 |
|
10–15 минут |
9986 |
5,97 |
2 985 851 |
Таблица 2
Результаты эксперимента с сетевым стеком данных, поступающих из сети
Платформа |
Временной участок |
Средняя Интенсивность |
Среднее время обработки, мкс |
Обработано пакетов |
ЭП № 4 |
0–5 минут |
794 |
16,01 |
238 355 |
5–10 минут |
3518 |
19,16 |
1 059 003 |
|
10–15 минут |
5919 |
22,93 |
1 781 631 |
|
ЭП № 5 |
0–5 минут |
789 |
80,58 |
236 932 |
5–10 минут |
3541 |
142,16 |
1 066 137 |
|
10–15 минут |
5896 |
169,52 |
1 768 838 |
|
ЭП № 1 |
0–5 минут |
792 |
21,01 |
237 782 |
5–10 минут |
3526 |
16,06 |
1 057 902 |
|
10–15 минут |
5909 |
13,58 |
1 778 706 |
Рис. 1. Изменение интенсивности и времени обработки в ходе первого эксперимента на ЭП № 4
Рис. 2. Изменение интенсивности и времени обработки в ходе первого эксперимента на ЭП № 5
Рис. 3. Изменение интенсивности и времени обработки в ходе первого эксперимента на ЭП № 1
Рис. 4. Изменение интенсивности и времени обработки в ходе второго эксперимента на ЭП № 4
Рис. 5. Изменение интенсивности и времени обработки в ходе второго эксперимента на ЭП № 5
Рис. 6. Изменение интенсивности и времени обработки в ходе второго эксперимента на ЭП № 1
Результаты первого эксперимента показывают, что на всех платформах с ростом интенсивности время обработки снижается. Для ЭП № 4 эта тенденция менее выражены в отличие от ЭП № 5. Сравнивая результаты ЭП № 4 и ЭП № 1 можно отследить влияние операционной системы на время обработки, которое показывает, что под управлением UNIX-подобной ОС оно значительно ниже.
Результаты второго эксперимента демонстрируют совсем иную тенденцию. Под управлением ОС Windows, с ростом интенсивности поступления запросов время обработки данных входным стеком возрастает. Этот факт является отличительной особенностью ОС Windows. Аналогичный эксперимент на ЭП № 1 имел совершенно иную динамику — время обработки планомерно снижалось. Общей чертой этих ОС является то, что временные затраты входного стека превышают затраты исходящего. Это можно увидеть при анализе результатов на первом промежутке эксперимента, когда интенсивность имеет малую величину.
Проведенные эксперименты продемонстрировали характеристики сетевого стека ОС на промежутке времени достаточном для перевода системы в новое состояние. Результаты показывают, что современные компьютерные системы под управлением ОС Windows, также оптимизированы для работы с большой интенсивностью. В тоже самое время, производительность сетевого стека входящих данных ухудшается с ростом количества поступающих запросов в единицу времени. В нашем диссертационном исследовании мы разработали иной подход для решения задачи генерации нагрузки и сбора результатов. Он основан на применении специализированного аппаратного модуля с ПЛИС. Ее прошивка содержит сетевой стек, компоненты которого обрабатывают исходящие и входящие данные независимо друг от друга. При этом время обработки изменяется незначительно и составляет несколько сот наносекунд. Нагрузочные способности нашей разработки превышает возможности существующих систем.
Литература:
1. Силаков д. в. автоматизация тестирования web-приложений, основанных на скриптовых языках // Труды ИСП РАН. 2008. № 2. С.159–178.
2. Сортов А., Хорошилов А. Функциональное тестирование Web-приложений на основе технологии UniTesK // Труды Института системного программирования РАН, № 8, 2004, С. 77–97.
3. Яковенко П. Н., Сапожников А. В. Инфраструктура тестирования веб-сервисов на базе технологии TTCN-3 и Платформы.net // Труды ИСП РАН. 2009. №. С.63–74.
4. Kevin Morrison, Hisham M. Haddad Converting users to testers: an alternative approach to load test script creation, parameterization and data correlation // Journal of Computing Sciences in Colleges Volume 28 Issue 2, December 2012, p. 188–196.
5. Pingyu Zhang, Sebastian Elbaum, Matthew B. Dwyer Automatic Generation of Load Tests // ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering, p. 43–52.
6. Pingyu Zhang, Sebastian Elbaum, Matthew B. Dwyer Compositional load test generation for software pipelines // ISSTA 2012 Proceedings of the 2012 International Symposium on Software Testing and Analysis, p. 89–99.
7. Yuhong Cai, John Grundy, John Hosking Synthesizing client load models for performance engineering via web crawling // ASE '07 Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, p. 353–362.
8. Haroon Malik, A Methodology to Support Load Test Analysis // ICSE '10 Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering — Volume 2, P. 421–424.
9. Zhen Ming Jiang, Automated analysis of load testing results // ISSTA '10 Proceedings of the 19th international symposium on Software testing and analysis, P. 143–146.
10. Ермыкин Алексей Александрович Разработка метода построения комплекса нагрузочного тестирования распределенной информационной системы: дис. … канд. тех. наук: 05.13.13. — СПб., 2005. — 147 л.
11. TCPdump [Электронный ресурс] / URL: https://ru.wikipedia.org/wiki/Tcpdump (дата обращения 29.08.2014).
12. Бородин А. А. Исследование нагрузочных способностей компьютерных систем // Научно-технические ведомости СПбГПУ. Информатика. Телекоммуникации. Управление. 2014. № 3(198). C. 19–27.