Производительность серверов БД в OE 12
Тесты производительности, сравнивающие недавно выпущенный многопоточный сервер баз данных (Multi-Threaded Progress® OpenEdge® Database Server for ABL) с классическим однопоточным сервером, показывают, что в некоторых тестах одни и те же операции выполняются в три раза быстрее. Эта статья объясняет философию, лежащую в основе выполненных тестов, и даёт представление об исполняемых сценариях и полученных статистических данных.
Повышению производительности в OpenEdge 12.x способствует улучшение трёх основных функций:
- Buffer Pool Hash Table (BHT)
- Multi-threading of the OpenEdge Database Server for ABL (MTDBS)
- Server-Side Join (SSJ)
Задача MTDBS в том, чтобы преимущества развёртывания OpenEdge в многоуровневой архитектуре перевешивали любое влияние на производительность сетевых подключений по TCP (client-server) по сравнению с прямыми подключениями к разделяемой памяти (self-service).
Как правило не ожидается, что работа в клиент-серверной сетевой среде (CS) будет лучше, чем при прямом самообслуживающимся подключении (SS). Хотя существуют примеры, когда использование новой технологии SSJ показывает такое улучшение производительности. Скорее ожидается, что работающие в многопоточном режиме сервера баз данных OpenEdge превзойдут свой однопоточный аналог. Проблемы, которые эти функции преодолевают, должны стать предметом разногласий в существующем развёртывании в процессе реализации улучшений производительности. С точки зрения улучшений в BHT будет уменьшена конкуренция за текущий латч хэш-таблицы буферного пула. С точки зрения MTDBS узким местом может быть выполнение запроса-ответа сервером базы данных. А для SSJ запросы должны использовать новую технологию.
Далее рассмотрим подробнее что было сделано для реализации этих функций.
Метка:Производительность