Войти

Показать полную графическую версию : Медленная работа при работе с БД (MS SQL Server)


masyaka
18-02-2013, 06:40
Доброго Всем времени суток!

Имеется следующее "железо":
Процессор: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
Оперативная память: 4096 MBytes
Жесткие диск: Serial ATA 1.5Gb/s, Seagate ST3500630AS, (500 GB). Жестких диска 2шт. (не RAID), один из них сетевой ресурс с расшаренными папками, второй разделен на два логических диска, на одном из которых установлена система, а на втором хранятся часть различных резервных копий.
На этом "железе" ОС Microsoft Windows Server 2003 EE, сервер в роли основного контроллера домена, DNS, DHCP при этом рабочих станции в домене 25 шт. На сервере установлена MS SQL 2005 в которой две БД ~ 500Мб. С этими БД по локальной сети работает приложение "Комплексная система управления учебным заведением". Пользователей работающих в этих приложениях 4 шт. (все работают за разными рабочими станциями и одновременно работают редко, в основном одновременно работают 2 пользователя). Проблема в том что при работе в этом приложении в последнее время стали появляться раздражающие "тормоза" (особенно при внесении новых данных, но также и просто при просмотре информации) то есть может спокойно повиснуть на секунд 10-20 я думаю, но точно не засекал. Также на сервере установлен Антивирус Касперского 6.0 для WinServers EE, когда-то давно было установлено VirtualBox, Java, но VirtualBox сейчас вообще не используется.

Когда появились "тормоза" начал разбираться и заметил, что "тормоза" проявляются вроде, в то время когда на сервере антивирус начинает обновлять свои базы.
Вот показания некоторых счетчиков. Время сбора информации в журнал было 10 минут. Слева на графиках журнал запускал на 10 минут и просто работал в приложении, справа на графиках журнал запускал на 10 минут, в это время работал в приложении и примерно через минуту от начала запуска журнала запустил задачу обновления баз Касперского.
http://s41.radikal.ru/i094/1302/e7/a08e9a8c117et.jpg (http://radikal.ru/F/s41.radikal.ru/i094/1302/e7/a08e9a8c117e.jpg.html)
http://s019.radikal.ru/i604/1302/a8/4ba1b267b03et.jpg (http://radikal.ru/F/s019.radikal.ru/i604/1302/a8/4ba1b267b03e.jpg.html)
http://s005.radikal.ru/i212/1302/e0/1463e89482f9t.jpg (http://radikal.ru/F/s005.radikal.ru/i212/1302/e0/1463e89482f9.jpg.html)
В общем ситуация пока не критическая, но очень хочется услышать мнения людей более опытных в вопросах производительности и работы со счетчиками.

1. Можно ли по графикам сказать, что при задаче обновления баз Касперского наблюдается явная перегрузка дисковой подсистемы, что соответственно означает что именно диски (не процессор, не оперативная память) являются узким местом или это вполне рабочая нагрузка и дисковая система справляется, а причина "тормозов" в чем то другом.
2. Почему именно при обновлении баз Касперского наблюдается увеличение показателей связанных с дисковой подсистемой в разы?
3. Как объяснить то, что раньше таких "тормозов" не было, а сейчас они появились, что-нибудь могло произойти с жестким диском (кстати сервер стоит рядом и с определенного времени стало слышно хруст жёсткого диска).
4. Может быть необходимо еще что-нибудь помониторить?

alef2474
26-02-2013, 18:57
Имхо, так мало памяти для сервера с таким количеством ролей недопустимо. С ростом баз памяти стало не хватать.
Диски на сбойные кластеры тоже можно проверять, хотя им и положено быть шумными и старыми.

__sa__nya
27-02-2013, 08:20
Имхо, так мало памяти для сервера с таким количеством ролей недопустимо. »
последний скрин - available Mbytes - 2051
masyaka,
1) Если подозреваете антивирус, настройте на нем задачу получения обновлений раз в сутки ночью, когда гарантированно никто не работает
2) Проверьте диски с помощью MHDD или Victoria
3) ПРоверьте журнал "Система" на наличие ошибок, с источником "ntfs" или "disk"
4) Проверьте фрагментацию ваших разделов и если есть фрагментация, сделайте дефрагментацию
5) В момент подвисания в диспетчере задач сделайте скриншот вкладки "быстродействие"
Отпишитесь по результатам.

alef2474
01-03-2013, 15:29
последний скрин - available Mbytes - 2051 »

Видел я про available Mbytes и не считаю, что для такого сервера этого достаточно.(где нормы??) У меня как раз при достижении такого уровня available Mbytes сервер гораздо более мощный с подобными ролями начинал зависать.

__sa__nya
01-03-2013, 20:22
.(где нормы??) »
-
Имхо, так мало памяти для сервера »
- вот именно, где нормы? Если у сервера наблюдается зависание, и причина этого - оператива, то свободно будет не более 300 мегабайт.
А теперь давайте посчитаем:
1) ОС- 500 МБ
2) AD, DNS, DHCP - 200 МБ
3) SQL - как писал ТС - 2 базы по 500 МБ, + 100 МБ на нужды самого SQL'я - 1100 МБ
4) Касперыч 6.0 - до 200 МБ
ИТОГО:2000 МБ

- Ну а теперь давайте ваши нормы »

alef2474
03-03-2013, 15:44
1) ОС- 500 МБ
2) AD, DNS, DHCP - 200 МБ
3) SQL - как писал ТС - 2 базы по 500 МБ, + 100 МБ на нужды самого SQL'я - 1100 МБ
4) Касперыч 6.0 - до 200 МБ
ИТОГО:2000 МБ
- Ну а теперь давайте ваши »

Я по таким нормам не считаю, т.к. имел сервера 2008 с 1Гб памяти и AD - и ничего, работали с 10 пользователями.
В то же время почти аналогичный по ПО 2008 сервер с AD, SQL и антивирусом у меня сразу при старте незагруженный пользователями потребляет 2,2 Гб, а потом нагрузка может быстро расти за счет потребления памяти SQL сервером в зависимости от его настройки. Надо просто время от времени смотреть procexplorer'ом, особенно когда торможение и сравнивать цифры. Причем у меня может доходить тоже до полного зависа, если не обнулить перезагрузкой память отбираемую SQL. У меня правда есть еще терминальные клиенты, а у него нет похоже.
Автор темы не проявляется, поэтому может нет смысла дискутировать. Может ему еще имеет смысл помониторить еще сеть, т.к. у него это может быть узким местом, т.к. терминальные клиенты не использует. У меня тоже бывал сетевой шторм при массовых обновлениях антивируса.
А память подбросить на сервер никогда не помешает, пока она еще продается такого типа.
В своем описании автор похоже право с лево перепутал, т.к большие скачки графиков слева.

__sa__nya
03-03-2013, 18:51
Причем у меня может доходить тоже до полного зависа, если не обнулить перезагрузкой память отбираемую SQL »
можете выставить в свойствах SQL'а допустимый объем оперативы, он больше забирать не будет, перезагружать службу не нужно будет.

masyaka
01-04-2013, 12:33
Автор темы не проявляется, поэтому может нет смысла дискутировать »
Приношу свои извинения, был занят совсем другой работой.
Имхо, так мало памяти для сервера с таким количеством ролей недопустимо »
На другом форуме мне то же сказали что оперативной памяти маловато, но я то же ориентировался на available Mbytes и объем памяти как узкое место не брал в счет....теперь вот и не знаю...если будет возможность добавить памяти то попробую добавить.
В своем описании автор похоже право с лево перепутал, т.к большие скачки графиков слева. »
По ходу действительно перепутал.masyaka,
1) Если подозреваете антивирус, настройте на нем задачу получения обновлений раз в сутки ночью, когда гарантированно никто не работает
2) Проверьте диски с помощью MHDD или Victoria
3) ПРоверьте журнал "Система" на наличие ошибок, с источником "ntfs" или "disk"
4) Проверьте фрагментацию ваших разделов и если есть фрагментация, сделайте дефрагментацию
5) В момент подвисания в диспетчере задач сделайте скриншот вкладки "быстродействие"
Отпишитесь по результатам. »

1) Антивирус перенастроил на обновление рано утром, когда еще никого нет на работе.
2) С этим долго разбирался в итоге вот так
SMART диска на котором установлена система.
http://s019.radikal.ru/i643/1304/0c/e2dbb0aff5cft.jpg (http://radikal.ru/F/s019.radikal.ru/i643/1304/0c/e2dbb0aff5cf.jpg.html)
SMART второго диска(сетевой ресурс)
http://s56.radikal.ru/i153/1304/d8/4463482dce14t.jpg (http://radikal.ru/F/s56.radikal.ru/i153/1304/d8/4463482dce14.jpg.html)

Результат выполнения линейного чтения диска с системой
http://s45.radikal.ru/i109/1304/41/bb7fa0be4528t.jpg (http://radikal.ru/F/s45.radikal.ru/i109/1304/41/bb7fa0be4528.jpg.html)
Если я все правильно сделал, то судя по SMART, диски вроде как "здоровые". Судя по линейному чтению раз дефектов не найдено значит bad блоков нет.
Далее на системном диске запустил еще и Butterfly-чтение, но смутило предполагаемое время тестирования, тестировался диск с 9.00 до 14.00, но сервер долго в простое не может быть пришлось прервать тестирование. Тогда ради интереса запустил Butterfly-чтение на втором диске, который в качестве сетевого ресурса, там показало предполагаемое время на порядок меньше. С чем это связано? Диски же полностью одинаковые различаются только серийные номера
Butterfly-чтение системного диска
http://s019.radikal.ru/i637/1304/83/5927caeba714t.jpg (http://radikal.ru/F/s019.radikal.ru/i637/1304/83/5927caeba714.jpg.html)

Butterfly-чтение втрого диска
http://s47.radikal.ru/i116/1304/db/a27808288988t.jpg (http://radikal.ru/F/s47.radikal.ru/i116/1304/db/a27808288988.jpg.html)
3) Ошибок в журнале нет.
4)Фрагментация
http://s019.radikal.ru/i613/1304/5a/3e6896f8d7d2t.jpg (http://radikal.ru/F/s019.radikal.ru/i613/1304/5a/3e6896f8d7d2.jpg.html)
http://s017.radikal.ru/i412/1304/44/11387fffcd80t.jpg (http://radikal.ru/F/s017.radikal.ru/i412/1304/44/11387fffcd80.jpg.html)
5) Конкретно момент подвисания поймать не удалось, но вот скрины во время запуска задачи обновления баз Касперского.
http://s017.radikal.ru/i420/1304/00/63cd6e4d17bat.jpg (http://radikal.ru/F/s017.radikal.ru/i420/1304/00/63cd6e4d17ba.jpg.html)
http://s017.radikal.ru/i426/1304/4b/1355f69c82eft.jpg (http://radikal.ru/F/s017.radikal.ru/i426/1304/4b/1355f69c82ef.jpg.html)
http://s017.radikal.ru/i443/1304/cc/4c7f03ade235t.jpg (http://radikal.ru/F/s017.radikal.ru/i443/1304/cc/4c7f03ade235.jpg.html)
.

alef2474
04-04-2013, 11:12
Память, отбираемую SQL, как sanya предлагал, настраивали?

NRMS
08-04-2013, 16:53
У Вас диск С (с меткой Files) почти под завязку забит. Я так понимаю тут файлопомойка расположена. Файл подкачки на этом же диске? Папки "Program Files" и "Documents and Settings" тоже на нем? По-хорошему почистите диск, освободите место.

masyaka
09-04-2013, 11:39
У Вас диск С (с меткой Files) почти под завязку забит. Я так понимаю тут файлопомойка расположена. »
Да это и есть файлопомойка, это вобще отдельный жесткий диск.
Файл подкачки на этом же диске? Папки "Program Files" и "Documents and Settings" тоже на нем? »
Это все на другом отдельном жестком диске, на логическом диске D.

P.S.
Ничего не могу понять...или мне кажется или весна так действует :) Ситуация такая, например смотрел вчера эту тему поздно вечером, сообщений не было, захожу сейчас появилось новое сообщение, я смотрю когда это сообщение было написано, оказывается вчера вечером, то есть я последнее сообщение должен был увидеть еще вчера, а увидел последнее сообщение только сегодня и уже такое замечал не первый раз...хотя может показалось.

iprit
15-04-2013, 20:40
Я бы добавил памяти, включил режим PAE для системы и режим AWE для MSSQL. Настроил макс.объем памяти в свойствах SQL сервера с учетом на то, что 2 ГБ оставить на ОС и другие приложения. Посмотрите сколько памяти забирает процесс mssqlserver.exe, если порядка 1,7 Gb или около того, то явно проблема с нехваткой памяти. Сервер просто свопит. Посмотрите счетчик "Средняя длина очереди диска". То что вы высчитали совокупный объем занятой памяти и он у вас получился 2 Гб, ничего не значит. Т.к. 32 битная ОС для всех приложений оставляет только 2 Гб., остальное резервирует под себя любимую. То что больше 2 Гб, свопится на диск. Сам недавно с таким столкнулся, после проведения всех мероприятий (установка доп. 2 Гб. памяти, PAE, AWE, макс.объем памяти для SQL сервера 4 Гб.) сервер резко задышал. Если раньше средняя длина очереди диска частенько достигала 5-значных значений и сервер просто впадал в ступор, после мероприятий в максимуме опустилась до трехзначных, а в основном не превышает 10.




© OSzone.net 2001-2012