Пользователи давно жалуются на скорость работы системы. Думали, что дело в большом объеме данных.
Но при одном из последних обновлений заметил сильно разную скорость проверки реестра настроек, когда база у меня локально и когда на сервере.
У меня локально реестр настроек полностью проверяется за 20 секунд, а на сервере за 1 минуту 25 секунд. Начал проверять в других режимах и оказалось, что почти все на сервере медленней.
Хотя конфигурация сервера на порядок мощнее, чем у моего рабочего компьютера.
Создал практически одинаковую среду у себя и на сервере. Везде полностью одинаковые конфиги, одна и та же база данных, одинаковая версия MSSQL Server 2008R2. Проверяю на одном и том же документе.
Списание накладной, в которой 54 позиции, локально длится 3-4 секунды, а на сервере 8-9 секунд. Все проверял на свежеперезагруженном сервере, когда с ним больше никто не работал.
Начали копать дальше и почти сошли с ума. Решили исключить из возможных причин галактику. Нашел на просторах интернета вот такой скрипт:
Код: Выделить всё
create table Test(id int, descr varchar(100))
set nocount on
declare @i int
set @i = 0
while @i < 100000
begin
insert into Test values(@i, 'xxx')
set @i = @i + 1
end
drop table test;
На боевом сервере он выполняется около 1 минуты.
На сервере 10 рэйд, скорость чтения и записи по тестам даже выше, чем на старом сервере. У меня в рабочем компе вообще обычный HDD.
Попробовали вставить в сервак SSD и проверить на нем. Почему-то на SSD еще хуже, около 2 минут.
Уже даже не можем придумать в какую сторону копать. Может есть у кого-то идеи как отловить это узкое место?