Тема "Модуль контроля результатов операций запросов"
Содержание
1.1 Описание проблематики исследуемой темы
1.2 Описание методов решения задачи
1.3 Анализ существующих решений в рамках исследуемой темы
1.4 Постановка задачи
1.4 Постановка задачи
2.1 Структурная схема программы
2.2 Алгоритм модулей программы
2.3 Описание интерфейса программы
2.4 Тестирование проекта
2.4 Тестирование проекта
2.4 Тестирование проекта
482.97K

Модуль контроля результатов операций запросов

1. Тема "Модуль контроля результатов операций запросов"

Тема
"Модуль контроля
результатов операций
запросов"
Выполняли: Водотыкин А.А

2. Содержание

1.Описание проблематики исследуемой темы
1
2.Описание методов решения задачи
3.Анализ существующих решений в рамках
исследуемой темы
4.Постановка задачи

3. 1.1 Описание проблематики исследуемой темы

Довольно частой проблемой при работе с SQL являются медленные запросы.
Представьте, что создали вы приложение/сайт и вдруг, смотрите,
а производительность берёт и резко падает, а в чём этому причина неизвестно, ведь
факторов много, например: сильная нагрузка на CPU, нехватка дискового пространства, же
слабая пропускная способность канала или же это может быть неоптимизированный
запрос, который выполняется намного дольше чем должен.
Для того, чтобы вычислить проблему, создали такой функционал, как "Контроль
результатов операций запросов"
1

4. 1.2 Описание методов решения задачи

1
Встроенный
функционал в
СУБД
Сервисы для
мониторинга
запросов
Оптимизация
запросов
Методы
решения
Методы
решения

5. 1.3 Анализ существующих решений в рамках исследуемой темы

1.3 Анализ существующих решений в рамках исследуемой темы
1
NewRelic
Debug Bar
Query
Monitor
Существующие
решения для
контроля
результатов
операция
запросов

6. 1.4 Постановка задачи

Описание технических и программных характеристик вычислительной системы, на
которой будет протестирована работа разработанного модуля:
Технические характеристики:
Window 10 Версия 21H2
Процессор: AMD
1 Ryzen 5600x
Видеокарта:RTX 2070
ОЗУ:16 gb
Программные характеристики:
Microsoft Visual Code – IDE для написания кода и запуска всего проекта.
Python 3 – Язык программирования, на котором будет построен весь проект.
Wampserver – ПО для развёртывания локального сервера на ПК.
MySQL – СУБД для взаимодействия с базами данных.

7. 1.4 Постановка задачи

Целью курсовой работы является осуществление процесса обнаружения
медленных запросов.
Алгоритм процесса обнаружения медленных запросов:
1. Определяем
для каких баз данных нужно осуществить мониторинг
1
результатов выполнения запросов.
2. Осуществляет процесс обнаружения медленных запросов посредством
настройки MySQL и подключения к лог файлу.
3. Проверяем полученные результаты.
Осуществление процесса обнаружения медленных запросов будет происходить в
среде Microsoft Visual Code и СУБД MySQL. Будет произведён поиск самых медленных
запросов и отображение данных запросов для пользователя.

8. 2.1 Структурная схема программы

Пользователь взаимодействует с основным модулем через Python 3.
GUI построен на библиотеке Tkinter для отрисовки окон чтения лога и
взаимодействия с СУБД, а так же виджетов как Label,Text,Button.
Взаимодействие с СУБД осуществляется с помощью библиотеки pymysql
1

9. 2.2 Алгоритм модулей программы

1

10. 2.3 Описание интерфейса программы

Открывая программу, пользователь видит интерфейс в котором можно
осуществлять переключение между двумя вкладками "Просмотр Лога" и
"Запросы MySQL". На вкладке "Просмотр Лога" размещены три кнопки "Открыть лог файл", "Очистить файл", "Обновить файл" . А так же
текстовое поле куда будет выведен сам лог.
На второй вкладке "Запросы MySQL" размещены кнопки - "Подключиться
к БД" и "Отправить". Между кнопками расположено текстовое поле для
1
ввода SQL запросов,
а под кнопкой "Отправить" мы видим текстовое
поле, куда будут выводиться результаты выполнения запросов

11. 2.4 Тестирование проекта

В данный момент в настройках long_query_time выставлено 5 секунд,
это значит что мы будем добавлять в лог запросы, которые
выполняются дольше или равны 5 секундам. Для начала давайте
создадим такой запрос.
Попробуем открыть лог файл. И
тут мы видим, что данный запрос
1
корректно отображается
в нашем
лог-файле.Теперь попробуем
добавить ещё один запрос и
нажать кнопку "Обновить файл".
Как видим кнопка "Обновить
файл" работает корректно и
новый запрос так же
отображается.
Теперь попробуем очистить наш лог
файл. И тут мы можем наблюдать,
что кнопка "Очистить файл"
работает корректно.

12. 2.4 Тестирование проекта

Теперь перейдём на вторую вкладку "Запросы MySQL". Для начала
попробуем подключиться к нашей БД, для этого нажимаем на кнопку
"Подключиться к БД". После нажатия видим сообщение "Подключение
успешно"
1
Попробуем отправить какой-либо запрос нашей БД.
Как видим, запрос SHOW DATABASES отработал
успешно и вывел нам все существующие БД.
Теперь попробуем сделать запрос с ошибкой.
Как видим, в текстовом поле нам выдало
сообщение, что запрос не выполнен.

13. 2.4 Тестирование проекта

1
English     Русский Правила