Исследование способов повышения эффективности работы и оптимизации скорости загрузки Веб - приложения . Исследование способов повышения производительности web приложений Направление подготовки 09. 04. 01 Информатика и вычислительная техника
Скачать 225.42 Kb.
|
Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования «Комсомольский-на-Амуре государственный технический университет» На правах рукописи Фомин Георгий Александрович Исследование способов повышения производительности web приложений Направление подготовки 09.04.01 «Информатика и вычислительная техника» АВТОРЕФЕРАТ МАГИСТЕРСКОЙ ДИССЕРТАЦИИ 2017 2 Работа выполнена в ФГБОУ ВО «Комсомольский-на-Амуре государственный технический университет» Научный руководитель: кандидат технических наук, доцент МОП ЭВМ ФГБОУ ВО «Комсомольский-на-Амуре государ- ственный технический университет» Петрова Анна Николаева Рецензент: кандидат технических наук, доцент, ведущий ин- женер отдела систем диспетчеризации технологи- ческого управления «Комсомольская ТЭЦ-3» Тачалов Александр Николаевич Защита состоится «29» июня 2017 года в 14 часов 00 мин. на заседании государственной экзаменационной комиссии по направлению 09.04.01 «Ин- форматика и вычислительная техника» в Комсомольском-на-Амуре государ- ственном техническом университете по адресу: 681013, г. Комсомольск-на- Амуре, пр. Ленина, 27, ауд. 321/3 Автореферат разослан 22 июня 2016 г. Секретарь ГЭК М.Е. Щелкунова 3 ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ Актуальность темы магистерской диссертации обусловлена широким применением web- приложений, большой объём обрабатываемых данных и количество одновременно обращающихся пользователей вызывают падение производительности приложений. Цель исследования: разработка web-приложения с применением спо- собов повышения производительности web-приложений и оценкой результа- тивности примененных способов. Задачи исследования: 1. Собрать информацию о различных способах повышения производи- тельности web-приложения. 2. Провести ряд экспериментов, в ходе которых определить достовер- ность эффективности найденных способов повышения производительности применительно к разрабатываемому приложению. 3. Произвести анализ полученных результатов, подвести итоги, вы- явить наиболее эффективные способы повышения производительности в раз- рабатываемом приложении, выявить наименее эффективные. 4. Разработать web-приложение «Учёт компьютерной техники» с ис- пользованием исследованных способов повышения производительности. 5. Произвести внедрение приложения разработанного на основе прове- денных исследований. Объектом исследования являются способы повышения производи- тельности и масштабируемости. Предметом исследования является способы повышения производи- тельности web-приложения. Методы исследования: теория эксперимента. 4 Новизна полученных результатов заключается в разработанном при- ложении в соответствии с рекомендациями по повышению производительно- сти приложения. Достоверность и обоснованность результатов исследования подтвер- ждается совокупностью следующих положений: реальностью исходных данных; используемых при анализе модели апробированных научной обще- ственностью логических закономерностей; положительными результатами практического внедрения на пред- приятии Филиал «Макрорегион Дальний Восток ООО ИК «СИБИНТЕК». Практическая значимость: результатом выполнения исследования являются применение способов повышения производительности к приложе- нию учета компьютерной техники предприятия Филиал «Макрорегион Дальний Восток ООО ИК «СИБИНТЕК». Основные положения работы, выносимые на защиту: 1 результаты оценки эффективности рекомендаций для повышения производительности web-приложения. 2 программный код, повышающий производительность приложения учёта компьютерной техники после внедрения исследованных способов. Апробация работы: результаты работы докладывалисьна46-й и 47-й научно-технической конференции студентов и аспирантов КнАГТУ, а также результаты исследований были внедрены в Филиал «Макрорегион Дальний Восток ООО ИК «СИБИНТЕК». Публикации. Результаты диссертационного исследования опублико- ваны в 2 научных работах: 1 Фомин, Г. А. Исследование влияния структуры базы данных на про- изводительность информационной системы / Г. А. Фомин, А. Н. Петрова. – Комсомольск-на-Амуре: материалы 46-й научно-технической конференции студентов и аспирантов. КнАГТУ, 2016 – С. 620-621 5 2 Фомин, Г. А. Исследование способов повышения производительно- сти в информационных системах / Г. А. Фомин, А. Н. Петрова. - Комсо- мольск-на-Амуре: материалы 47-й научно-технической конференции студен- тов и аспирантов , 2017 – С. 1125-1127. Структура и объём работы. Диссертация состоит из введения, общей характеристики работы, трёх глав, заключения и списка использованных ис- точников. Объём диссертации составляет 91 страниц. Текст работы содержит 30 таблицы, 29 рисунков. Список литературы включает 30 источников. ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ Во введении обоснована актуальность, новизна и теоретическая зна- чимость работы, приведена общая характеристика работы, содержащая: цель исследования; задачи исследования; объект и предмет исследования; методы исследования; новизна полученных результатов; достоверность и обоснованность результатов исследования; практическая значимость и ценность работы; основные положения работы, выносимые на защиту; апробация результатов работы; публикации; структура и объем МД. Первая глава магистерской диссертации посвящена обзору предмет- ной области, а именно произведён обзор научных статей с рекомендациями по разработке web приложений, рассмотрены существующие аналоги с учё- том функциональных требований, выдвинутых на предприятии. При анализе рекомендаций были выделены следующие работы. 6 Практическое руководство по доступу к данным к наиболее проблем- ным областям, связанным с производительностью относит: сеть, драйвер ба- зы данных, программно-аппаратную среду и качество кодирования запросов к данным. Так как разрабатываемое приложение должно размещаться в ло- кальной сети предприятия, то она не оказывает большого влияния на произ- водительность. При разработке запросов к базе данных были учтены реко- мендации по кодированию запросов. Статья Медведева Ю.С. «Некоторые аспекты оценки производительно- сти динамичных интерактивных Ajax – приложений» посвящена оптимиза- ции javascript и HTML кода, влияющего на производительность приложения, такие как явное закрытие тегов, положение кода на странице, разбиение больших файлов со скриптами на более мелкие. Часть из них исследовано в численном эксперименте в главе 2. В статье Побежимовой М. П «Инструменты/подходы/способы оптими- зации веб-приложений: на примере Net и Android» авторы приводят пять подходов к оптимизации веб приложений характерных для среды .NET. К ним относятся: удаление ненужных ресурсов, минификация – технология сжатия файлов javascript, оптимизация изображений,Http–кеширование, ис- пользование CDN – технология распределения контента. Также в ряде статей приводятся советы по использованию отдельных модулей для анализа и пресечения любых внешних воздействий отличаю- щихся от нормы, например сетевых атак. Как было сказано выше, приложе- ние расположено в локальной сети, что позволяет минимизировать воздей- ствия на систему из вне. Проецируя рекомендации, описанные в научных источниках, на разра- батываемое приложение можно сделать предварительные выводы. Так как разрабатываемое приложение планируется использовать в локальной сети предприятия, то от сетевой оптимизации можно отказаться. Так как техноло- гия MVC предполагает использование базы данных, и при формировании запросов учтены рекомендации из источников. 7 Также в первой главе приведён обзор систем учета компьютеров на предприятии, в результате которого построена сравнительная таблица, отра- жающая нужный функционал и функционал существующих приложений. В таблице 1 изображен фрагмент сравнительной таблицы. Таблица 1 – Фрагмент сравнительной таблицы Из таблицы 1 видно, что существует множество приложений для учёта компьютеров, следовательно, проблема является актуальной. Также мы ви- дим, что не все приложения поддерживают работу с active directory для полу- чения актуальной информации о пользователях, некоторые программы явля- ются локальными, в некоторых случаях оказала влияние цена программного продукта. Вторая глава посвящена оценке исследуемых методов повышения производительности. Составлен план эксперимента: выбрано количество за- меров равное 15 для каждого метода, выбраны средства замера, определена программно-аппаратная среда. В качестве критерия оценки повышения про- изводительности выбрано время работы метода при выполнении поставлен- ной задачи. Замер времени осуществлялся как средствами языка программи- 8 рования C#, так и с помощью набора средств разработчика в интернет- браузере. Для наглядности были построены графики, отражающие изменение времени в зависимости от рассматриваемой рекомендации. После замера времени выполнения методов, были выставлены численные значения про- цента эффективности/неэффективности модификации. В данной главе были рассмотрены рекомендации по отправке данных на сервер БД: использование подготовленных инструкций при отправке множества строк однотипных данных; Использование табличной переменной при отправке множества од- нотипных строк; Использование хранимой процедуры. Так же рассмотрены рекомендации по оптимизации кода HTML и Ja- vaScript: При неявно закрытых тегах HTML, наблюдается снижение скорости загрузки web-приложения Удаление ненужных ресурсов; Минификация файлов скриптов. В третьей части магистерской диссертации описывается практическая реализация программного обеспечения, основанного на исследования спосо- бов повышения производительности web приложений. В данном разделе со- держатся следующие подраздел: описание программы, описание программ- ного обеспечения, руководство пользователя, руководство программиста и анализ. Согласно функциональным требованиям предприятия и рекомендаци- ям по оптимизации была разработана информационная система «Учёт ком- пьютерной техники», которая состоит из четырех подсистем: «Справочники» для добавления номенклатурных значений; «Сотрудники» - содержащие ин- формацию о работниках, «Расходные материалы» – для ведения оборота рас- 9 ходных материалов; «Техника», отражающая положение и состав оборудова- ния. Взаимодействие с программой осуществляется посредством оконного интерфейса, доступ к приложению осуществляется через интернет браузер. Данное программное обеспечение разработано с помощью MS Visual Studio 2013 c применением языков программирования C# и JavaScript, языка запросов SQL и языка разметки гиппертекста HTML. В качестве сервера баз данных был использован SQL SERVER 2012. В качестве технологии разра- ботки была использована MVC c использованием Entity Framework. На ри- сунке 1 изображена схема взаимодействия компонент MVC. Рисунок 1 – Взаимодействие компонент MVC В разработанной информационной системе создано 29 моделей, 26 контроллеров, 102 представления. В заключении перечислены основные результаты работы. В приложении приведён исходный код программы. ЗАКЛЮЧЕНИЕ Результатом выполнения магистерской диссертации является web при- ложение, разработанное с учётом результатов исследования методов повы- шения производительности. Практическая значимость заключается в умень- шении времени обработки данных и загрузке страниц приложения. 10 Для оценки исследованных методов был проведен ряд экспериментов, в качестве критерия оценки использовалось время, замеряемое до и после применения рекомендаций по оптимизации. ПУБЛИКАЦИИ ПО ТЕМЕ ИССЛЕДОВАНИЯ 1 Фомин, Г. А. Исследование способов повышения производительно- сти сетевых приложений работающих с базами данных на примере информа- ционной системы «Учёт компьютерной техники» / Г. А. Фомин, А. Н. Петро- ва. – Комсомольск-на-Амуре: материалы 46-й научно-технической конфе- ренции студентов и аспирантов. КнАГТУ, 2016 – С. 620-621 2 Фомин, Г. А. Исследование способов повышения производительно- сти в автоматизированных системах / Г. А. Фомин, А. Н. Петрова. - Комсо- мольск-на-Амуре: материалы 47-й научно-технической конференции студен- тов и аспирантов , 2017 – С. 1125-1127. |