Страница 1 из 1
Помогите пожалуйста с быстродействием
Добавлено: 11 янв 2011, 18:14
spark
Добрый день!
Что имеем:
1. Сервер - 2 XEON'а по 4 ядра каждый 2.5 Ггц(E5420). RAID-1. 4Gb RAM(добавить не получается из-за ограничений SBS). Диски SATA.
2. Клиенты в среднем celeron'ы 2Ггц по 512 RAM.
3. ПО на сервере MSSBS 2003, MSSQL 2005 Workgroup.
4. ПО на клиентах Windows XP Pro.
На SQL сервере вертится 9 галактических баз с общими каталогами и таблицами остатков МЦ(Enterprise-архитектура) и База системы IBN(что-то на подобии документооборота, использует IIS).
Так же сервер является домен-контроллером и резервным DNS(не спрашивайте меня хачем =))).
Активное движение идет в 3 базах, больше всего нагружают в плане движения 3 пользователя. В пиковые дни выбивается порядка 200 накладных в каждой из баз. Большинство накладных создаются не руками, а загружаются готовыми, а далее после необходимых корректировок списываются. В среднем в накладных от 5 до 20 строк(но бывают и по 100).
Доходит до того, что отмена списания накладной в 25 позиций занимает порядка 10-15 секунд, а повторное списание может длиться порядка 30 секунд.
Это время совсем неприемлемо, потому что по специфике часто приходится отменять списание, удалять ненужную позицию и вновь списывать.
Когда сервер не нагружен(например вечером) эти прооцессы проходят за 2 секунды.
В целом в течение дня Галактика выглядит в плане скорости очень печально со всеми базами.
Претензий к самой системе пока нет, так как очевидно, что сервер для таких нагрузок крайне слаб.
Вопрос следующий:
Какую конфигурацию сервера нужно рассматривать для приобретения? И самое главное - Как сейчас при том, что есть, оптимизировать то что есть, пока не будет куплен новый сервер? =)
Может есть какие-нибудь тонкости настройки MSSQL, Windows или Галактики, которые помогли бы пока продержаться на более менее приемлемом уровне?
Спасибо! Буду рад любым советам!
Re: Помогите пожалуйста с быстродействием
Добавлено: 11 янв 2011, 18:50
m0p3e
Крайне не рекомендуется на одной машине держать AD и MSSQL.
Что с дисковой подсистемой? Просто "диски SATA" мало.
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 00:11
Polimer
У нас по жизни, примерно то же самое. SQL сервер+КД. Но, система стоит на "простом" раиде (сата винты), база на SAS раиде(раньше SCSI раид). Так как ОЗУ у вас не в почете, единственный вариант увеличения производительности - покупка САС контроллера с винтами.
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 00:47
edward_K
ну есть еще возможности.
Почитать форум, вырубить журнализацию(хотя бы частично), сократить время жизни лога, поставить параллелизм в 1. Дальше если есть возможность разнести логи и журналы на разные физические диски и так далее. Можно еще последить за процессами - возможно можно обратиться в ТП с конкретными предложениями - базы то не большие видать - мож у кого то еще тормозит в тех же местах. Недавно починили например проблему с длинными номерами СФ - один пользователь вешал всех при их ручной правке.
Ну и стандартные - сеть, вирусы и антивирусы, временные файлы(их своевременная автоматическая чистка) и так далее. Также можно поставить usertablelocalcache=on и настроить папки с ним и временными файлами на локал - но это больше для отчетов и зарплаты. Еще могут быть проблемы с аппаратным ключем.
Насчет нового сервера - 2008 сервер(x64) с 16 гигами на борту, SQL2008(тока пока не R2) тоже 64бита, желательно с 2 раидами, ну и все выше сказанное. Если пользователей много, то есть еще пара возможностей.
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 01:52
spark
Polimer писал(а):У нас по жизни, примерно то же самое. SQL сервер+КД. Но, система стоит на "простом" раиде (сата винты), база на SAS раиде(раньше SCSI раид). Так как ОЗУ у вас не в почете, единственный вариант увеличения производительности - покупка САС контроллера с винтами.
Спасибо, что откликнулись! Тоже была мысль, что при невозможности наращивания памяти нужно ускорять дисковую подсистему, но чувствуется что все равно надо менять сервак, поэтому наверное не будем сейчас частично менять железо.
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 02:12
spark
edward_K писал(а):ну есть еще возможности.
Почитать форум, вырубить журнализацию(хотя бы частично), сократить время жизни лога, поставить параллелизм в 1. Дальше если есть возможность разнести логи и журналы на разные физические диски и так далее. Можно еще последить за процессами - возможно можно обратиться в ТП с конкретными предложениями - базы то не большие видать - мож у кого то еще тормозит в тех же местах. Недавно починили например проблему с длинными номерами СФ - один пользователь вешал всех при их ручной правке.
Ну и стандартные - сеть, вирусы и антивирусы, временные файлы(их своевременная автоматическая чистка) и так далее. Также можно поставить usertablelocalcache=on и настроить папки с ним и временными файлами на локал - но это больше для отчетов и зарплаты. Еще могут быть проблемы с аппаратным ключем.
Насчет нового сервера - 2008 сервер(x64) с 16 гигами на борту, SQL2008(тока пока не R2) тоже 64бита, желательно с 2 раидами, ну и все выше сказанное. Если пользователей много, то есть еще пара возможностей.
Спасибо большое за советы!
1. Журнализация выключена, даже подумываем вырубить протект =)
2. Если имеется в виду лог транзакций сиквела, то стоит модель восстановления базы simple, что как я понимаю при каждом бэкапе чистит журнал. Или нет?
3. Встречал уже совет поставить параллелизм в 1. Что вообще делает этот параллелизм и почему его нужно выставлять в 1? Может Вы поясните "физику" процесса?
4. Логи и журналы наверное до покупки нового сервака разнести не сможем. На сервере сейчас первый RAID из двух простых дисков =(
5. Базы пока не большие. Эти три, по которым нагрузка большая, начали работать только с начала года(правда наколбасили уже порядка 1500 накладных в сумме). Но в плане предложений в ТП не с чем сравнивать, они скорее всего сразу свалят все на слабость сервака(что по сути является фактом). Да и так несколько критичных для нас ошибок уже давно висят в ПИРе, постоянно смещаясь по срокам... =\
6. usertablelocalcache=on так и выставленно.
7. Аппаратный ключ кстати находится на этом же сервере. Слышал как-то, что это не есть хорошо, но вразумительных ответов в чем это может выражаться так и не было, поэтому пока его не переносили.
Спасибо за рекомендации по серверу. SQL2008 R2 еще официально не поддерживается или есть какие-то явные косяки при его использовании?
Пользователей сильно нагружающих сервер - 3. Всего 15, то есть не много...
Из того, что пока придумали сделать:
1. Включили в boot.ini параметр /3Gb, чтоб сиквел мог слопать больше двух гигов. Сейчас отжирает где-то 2588Мб.
2. Врубили параметр Boost SQL Server priority. Я так понял это должно сказать сиквелу, чтоб бился за ресурсы до конца! =)
3. Постарались поотключать все службы типа Exchang'а, шарепоинта, windows search и т.д. с целью снять нагрузку на винты и высвободить и без того дефицитную память.
Видимо хинтов осталось немного и надо вплотную заниматься подбором нового железа.
А на каких конфигурациях и в каких режимах работает галактика у Вас, если не секрет?
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 02:16
spark
m0p3e писал(а):Крайне не рекомендуется на одной машине держать AD и MSSQL.
Что с дисковой подсистемой? Просто "диски SATA" мало.
Спасибо. Даже не знаю что еще про них сказать... первый рэйд с тремя дисками(один резервный). Сам контроллер говорят хороший, но я честно сказать не смотрел его... почему-то мне показалось, что крутость только контроллера не поможет... или нет?
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 10:50
m0p3e
Крутость контроллера конечно не поможет.
Но вот рекомендации по дисковым массивам есть. Под БД желательно иметь независимый RAID 10. В случае MSSQL хороший прирост дает разнесение данных и транзакций на разные дисковые массивы.
Идеал:
Система - RAID1.
MSSQL данные - RAID10.
MSSQL транзакции - другой RAID10.
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 11:56
edward_K
параллелизм распределяет выполнение запроса на несколько процессоров, иногда бывает что sql зацикливается на сложных запросах(с кучей вложенных подзапросов), кроме того это позволяет избежать блокировки работы остальных пользователей.
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 12:26
maikl
edward_K писал(а):параллелизм распределяет выполнение запроса на несколько процессоров, иногда бывает что sql зацикливается на сложных запросах(с кучей вложенных подзапросов), кроме того это позволяет избежать блокировки работы остальных пользователей.
А где эта настройка в SQL ?
Если 4 процессора (16 ядер) сколько параллелей поставить?
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 16:41
spark
maikl писал(а):edward_K писал(а):параллелизм распределяет выполнение запроса на несколько процессоров, иногда бывает что sql зацикливается на сложных запросах(с кучей вложенных подзапросов), кроме того это позволяет избежать блокировки работы остальных пользователей.
А где эта настройка в SQL ?
Если 4 процессора (16 ядер) сколько параллелей поставить?
Вот оно в свойствах сервера.
Но сколько выставлять сам не знаю... вроде это должно помогать серверу справляться с ветвистыми запросами, но это ж галактика... =)
Re: Помогите пожалуйста с быстродействием
Добавлено: 12 янв 2011, 21:08
maikl
Мы в свое время, то же заменили сервер. Купли НР DL580 тот, что рекомендован в документации по Галактике. Памяти 32 ГБ, 4 процессора. Довольны.
Аппараратный ключ на другой машине (на виртуальной).
Когда на старом сервере они были вместе, раз в месяц сервер перезагружался, когда разнесли проблема исчезла.
Re: Помогите пожалуйста с быстродействием
Добавлено: 14 янв 2011, 01:05
spark
maikl писал(а):Мы в свое время, то же заменили сервер. Купли НР DL580 тот, что рекомендован в документации по Галактике. Памяти 32 ГБ, 4 процессора. Довольны.
Аппараратный ключ на другой машине (на виртуальной).
Когда на старом сервере они были вместе, раз в месяц сервер перезагружался, когда разнесли проблема исчезла.
Спасибо! HP DL580 это конечно крутовато... =)