Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Подскажите как ускорить работу  [new]
vovannovig
Member

Откуда:
Сообщений: 51
С самого начала хочу попросить снесходительства.

Имеем SQL7.0 на SERVER2003 с 1*SCSI 36 ... PentiumD 4 (2Core)...1024Mb

База - 300-350 Мб.

Новый сервер - Quad 3360\RAM=4 или 8\Винты пробовал 250-1Т и даже SSD Transcend 64(правда на нем работа сервера значительно быстрее стала,но вот с базой по скорости разобраться не успел...)

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

taskmgr.exe показывает

Загрузка процессора Максимум на 25% ...причем работает в большинстве только 1 ядро.
SQL
sql откушивает 350-360 памяти

При SSD смотрел на график загруженности сервера - простой винчестера составлял до 90% ...


Подскажите пожалуйста как определить в чем проблема и как повысить производительность.
Может надо для выявления причины что-то запустить,что-то уточнить?

Заранее спасибо!
24 сен 09, 09:26    [7701132]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
vovannovig
Member

Откуда:
Сообщений: 51
Забыл добавить что на новом сервере работу пробовал на 2005 как редакцию х86 так и х64.

Клиент написана на C++ Builder ........... для того чтоб запустился на клиентских машинах ставлю C++ Builder 4.0
24 сен 09, 09:32    [7701154]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
aleks2
Guest
1. Многа процесоров, гигабайтов и терабайтов - ничо не значат. Один умело написанный запрос положит шо угодно.

2. Изучайте Profiler и ловите тяжелые запросы. После - чешите репу... если она есть.
24 сен 09, 09:50    [7701209]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
vovannovig
Сне стала быстрее...т.е. как и раньше выборку с базы делает 4 сек.

ну так и смотрите что за сза запрос, и план его выполнения
24 сен 09, 09:53    [7701224]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
vovannovig
Member

Откуда:
Сообщений: 51
aleks2

2. Изучайте Profiler и ловите тяжелые запросы. После - чешите репу... если она есть.


Так и буду делать. ... а на какие параметры сразу лучше обратить внимание?

Ken@t
vovannovig
Сне стала быстрее...т.е. как и раньше выборку с базы делает 4 сек.

ну так и смотрите что за сза запрос, и план его выполнения


Извини,я с реляционными базами не в дружных отношения и потому не понял что и как надо сделать...
24 сен 09, 10:06    [7701295]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
vovannovig
Извини,я с реляционными базами не в дружных отношения и потому не понял что и как надо сделать...


Тогда Вам стоит пригласить специалиста. Ну, или начать строить "дружеские отношения".
24 сен 09, 10:45    [7701546]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
vovannovig,
Начать читать о Profiler
24 сен 09, 10:59    [7701650]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
vovannovig
Member

Откуда:
Сообщений: 51
pkarklin

Тогда Вам стоит пригласить специалиста. Ну, или начать строить "дружеские отношения".


С Вашим советом полностью согласен.
НО человек который знает эту базу находится в другом городе и денег просит очень не мало,а взять кого-то постороннего тоже проблематично(конфиденциальность базы,нет исходников программы,деньги...)
В общем-то что коллеги сами понимаете что объяснить и убедить руководство потратить в кризис деньги.........

Согласен с тем что ник-то учить или... не будет.......но может хоть какие-то мысли есть по оптимизации,а я буду гуглить....

Посмотрю Profiler .... как будет больше информации - напишу
Заранее спасибо за понимание )
24 сен 09, 11:02    [7701675]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
1
Guest
1) Размер кластера на новом сервере?
2)Какие SP установлены?
3) HTT выключены или нет?
24 сен 09, 12:59    [7702598]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31175
vovannovig
pkarklin

Тогда Вам стоит пригласить специалиста. Ну, или начать строить "дружеские отношения".


С Вашим советом полностью согласен.
НО человек который знает эту базу находится в другом городе и денег просит очень не мало,а взять кого-то постороннего тоже проблематично(конфиденциальность базы,нет исходников программы,деньги...)
Так если исходников нету и менять в базе ничего нельзя, что вы сможете сделать???

Если же править в БД можно, то есть 3 варианта:
1 - платить тому спецу, который есть

2 - платить новому спецу - это почти наверняка дороже первого варианта

3 - разбираться самому - требует много времени и не гарантирует результат

Третий вариант к тому же не может быть дешевле первых двух, разве только в фирме есть лишний человек, который ничего не делает, но которому по любому надо платить :-)
24 сен 09, 13:10    [7702678]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
Кудряшка
Member

Откуда: Сидней
Сообщений: 2219
alexeyvg
разве только в фирме есть лишний человек, который ничего не делает, но которому по любому надо платить :-)


заставить работать такого - нереально !
24 сен 09, 13:23    [7702784]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
vovannovig
Member

Откуда:
Сообщений: 51
1
1) Размер кластера на новом сервере?
2)Какие SP установлены?
3) HTT выключены или нет?


Файловая система стандартная т.е. если не ошибаюсь 4К
Сервера пробовал и 2003 R2 и 2008 СП1......SQL2005 SP2
HTT - извините не знаю что это...

Для теста все ставилось с нуля и стандартными настройками.


Насчет дорабатывать - я думал что проблема не в запросах,а оптимизации базы или настройках сервера.
(Т.к. сейчас старый сервер 7.0 раз в неделю как минимум,а то и 2 дня... надо запускать оптимизацию...после повторения процедуры 2-3 раза начинает работать реально быстрее,но не быстрее чем поиск информации по одному документу чем 4 сек.)
24 сен 09, 14:02    [7703095]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
Бредгаур Виталий
Member

Откуда: Россия, МО
Сообщений: 24
alexeyvg прав.
Если исходников нет, то подходит фактически только вариант приглашения разработчика этой базы и клиентского приложения, потому-что даже шаманство с профайлером и допустим выяснения того, что не достает каких-либо индексов не гарантирует, что:
1. Созданные индексы будут использоваться при выполнении запросов (т.к. индекс может быть явно прописан в коде клиента - сталкивался с этип при оптимизации запросов БД Navision).
2. Клиент не перестанет корректно работать :)
3. Клиент толстый: тянет к себе данные, а потом их как-то связывает, преобразовывает и т.п.
Попробуйте установить клиента на более мощную машину (на сервер, например) и посмотрите на время выполнения запросов.

Если всё же захотите попробовать профайлер, почитайте так же про динамические административные представления и функции, такие как sys.dm_db_missing_index_groups, sys.dm_db_missing_index_group_stats, sys.dm_db_missing_index_details и т.п.
24 сен 09, 16:55    [7704582]     Ответить | Цитировать Сообщить модератору
 Re: Подскажите как ускорить работу  [new]
vovannovig
Member

Откуда:
Сообщений: 51
Бредгаур Виталий
alexeyvg прав.
Если исходников нет, то подходит фактически только вариант приглашения разработчика этой базы и клиентского приложения, потому-что даже шаманство с профайлером и допустим выяснения того, что не достает каких-либо индексов не гарантирует, что:
1. Созданные индексы будут использоваться при выполнении запросов (т.к. индекс может быть явно прописан в коде клиента - сталкивался с этип при оптимизации запросов БД Navision).
2. Клиент не перестанет корректно работать :)
3. Клиент толстый: тянет к себе данные, а потом их как-то связывает, преобразовывает и т.п.
Попробуйте установить клиента на более мощную машину (на сервер, например) и посмотрите на время выполнения запросов.

Если всё же захотите попробовать профайлер, почитайте так же про динамические административные представления и функции, такие как sys.dm_db_missing_index_groups, sys.dm_db_missing_index_group_stats, sys.dm_db_missing_index_details и т.п.


Спасибо!
Буду читать,смотреть.

Поставил доп винт на 1Т(у него скорость по быстрее будет,да и запись в самое начало диска)
Что заметил,при выборке скажем за мес.(посмотреть какие доки,... зарегины) то обращение к диску только на начальном этапе,что составляет 10-50% от времени пока выборка будет представлена.

Клиент стоит сейчас на сервере на котором и база,пробую все на 1-й машине.

по опыту старого сервера - время выполнения одинаковое, хотя вы правы - если выборка скажем за год то клиент может попросить 400-700Мб ОЗУ.

Рабочий сервер не хочется терзать,но на тестовом заметил что при большой выборке(за 6-12 мес. - из расчета 6 000 док. в мес.) выскакивает --- External exception EEFFACE
24 сен 09, 17:35    [7704961]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить