Производительность, много баз, большой журнал, MSSQL
Добавлено: 25 окт 2017, 14:20
Добрый день!
Платформа MSSQL, под службу MSSQL выделено 32Гб оперативной памяти.
Архитектура двухуровневая, одновременно с базами работает около 16 пользователей + 3 администратора напрямую могут выполнять запросы через MSSQL Management Studio + несколько системных процессов тоже обращаются к базам напрямую SQL-запросами. EXE у каждого лежит локально, практически у всех пользователей SSD.
На сервере 29 БД. В среднем каждая база по 1,5-2Гб.
Но есть 4 с такими размерами - 40, 15, 45, 65Гб. В них идет основная работа.
Самое большое в базах - это файл journal.dat. В базе, которая 65Гб он 20Гб.
Журнал уже не чистился полтора года.
Начали наблюдаться подвисания интерфейса галактики, как будто подгружаются данные. Особенно это видно на маленьких базах, которые редко используются. Первый запуск такой маленькой базы, если ее давно не использовали, может длиться по 20-30 секунд, потом внутри все какое-то время тоже тупит, а потом начинает работать нормально.
Сервер за последнее время начал выполнять еще несколько на первый взгляд не ресурсоемких задач. Хотим отловить причины подвисаний, но по мониторам ни с дисками, ни с памятью ничего криминального не видим.
Вопросы:
1. Технически может ли рост количества данных в журнальных таблицах заметно влиять на производительность? В них же ничего не индексируется кроме nrec'а.
2. Достаточно ли MSSQL столько памяти при таком количестве баз данных? За день поочереди и местами одновременно может использоваться около 12 баз из 29.
3. Что вы можете порекомендовать для оценки производительности и загруженности сервера?
Уже всю голову поломали =)
Платформа MSSQL, под службу MSSQL выделено 32Гб оперативной памяти.
Архитектура двухуровневая, одновременно с базами работает около 16 пользователей + 3 администратора напрямую могут выполнять запросы через MSSQL Management Studio + несколько системных процессов тоже обращаются к базам напрямую SQL-запросами. EXE у каждого лежит локально, практически у всех пользователей SSD.
На сервере 29 БД. В среднем каждая база по 1,5-2Гб.
Но есть 4 с такими размерами - 40, 15, 45, 65Гб. В них идет основная работа.
Самое большое в базах - это файл journal.dat. В базе, которая 65Гб он 20Гб.
Журнал уже не чистился полтора года.
Начали наблюдаться подвисания интерфейса галактики, как будто подгружаются данные. Особенно это видно на маленьких базах, которые редко используются. Первый запуск такой маленькой базы, если ее давно не использовали, может длиться по 20-30 секунд, потом внутри все какое-то время тоже тупит, а потом начинает работать нормально.
Сервер за последнее время начал выполнять еще несколько на первый взгляд не ресурсоемких задач. Хотим отловить причины подвисаний, но по мониторам ни с дисками, ни с памятью ничего криминального не видим.
Вопросы:
1. Технически может ли рост количества данных в журнальных таблицах заметно влиять на производительность? В них же ничего не индексируется кроме nrec'а.
2. Достаточно ли MSSQL столько памяти при таком количестве баз данных? За день поочереди и местами одновременно может использоваться около 12 баз из 29.
3. Что вы можете порекомендовать для оценки производительности и загруженности сервера?
Уже всю голову поломали =)