Способы и средства для оптимизации работы с БД, Обзор системы - Система автоматизированного разделения кода прикладных программ

Обзор системы

Основной задачей разрабатываемой системы является повышение производительности систем состоящий из сервера приложений и сервера баз данных, а именно уменьшение времени между отправкой клиентского запроса и получением соответствующего результата.

В ходе работы система будет анализировать исходный код, выявлять подходящие для переноса в качестве хранимой процедуры участки, и добавлять их в БД.

Первоначально должен производиться анализ исходного кода сервера приложений. Система формирует список методов пригодных для переноса на другой сервер. Подходящими можно считать методы, в которых получается и затем обрабатывается некоторая информаций из БД, и в данных методах модифицируются только поля объектов класса, в котором содержится данный метод.

Также, предварительно будут собраны данные о работе системы, время выполнения различных транзакций. С помощью этого параметра можно будет оценить эффективность работы системы до разделения и после.

По итогам работы анализатора составляется список методов и необходимого набора параметров, которые необходимы для генерации файлов взаимодействия.

Разделитель по созданному списку выделяет нужные методы, генерирует интерфейс, клиент и сервер для RMI-взаимодействия, классы-результаты для передачи данных.

В код сервера приложений вместо перенесенных строк будут добавлены обращения к сгенерированным классам для удаленного вызова заданных процедур.

Упомянутые библиотеки обеспечивают синхронизацию объектов, передаваемых в качестве параметров и отправку результата. Часть, располагающаяся на сервере БД при получении сигнала вызывает заданную процедуру применив ее к переданному в качестве параметра объекту, получив ответ преобразует его в нужную форму и возвращает вместе с измененными значениями параметров.

В результате вместо прежнего взаимодействия сервер приложений, обращающийся по JDBC к серверу БД, будет получена более сложная цепочка: сервер приложений - компонент взаимодействия на первом сервере - компонент взаимодействия на втором сервере - вызов метода - возврат результата и синхронизация параметров через компоненты взаимодействия.

Несмотря на добавление передачи параметров из-за того, что часть данных будет обрабатываться внутри БД нагрузка на канал связи между серверами должна снизиться. В целом, прирост производительности ожидается в следствие следующих факторов:

    - Снижение количества избыточных пересылок данных. Данные будут пересылаться, обрабатываться и возвращать результат только один раз. Если в перенесенном на другой сервер коде больше чем 1 обращение к БД, то время выполнения сократится минимум на время пересылки данных туда и обратно. - Использование удаленного вызова процедур вместо обычных запросов.

Для анализа будет взято 2 случая: стандартное приложение без изменений и разделенное приложение.

Похожие статьи




Способы и средства для оптимизации работы с БД, Обзор системы - Система автоматизированного разделения кода прикладных программ

Предыдущая | Следующая