![]() |
Медленная работа при работе с БД (MS SQL Server)
Доброго Всем времени суток!
Имеется следующее "железо": Процессор: 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 минут, в это время работал в приложении и примерно через минуту от начала запуска журнала запустил задачу обновления баз Касперского. ![]() ![]() ![]() В общем ситуация пока не критическая, но очень хочется услышать мнения людей более опытных в вопросах производительности и работы со счетчиками. 1. Можно ли по графикам сказать, что при задаче обновления баз Касперского наблюдается явная перегрузка дисковой подсистемы, что соответственно означает что именно диски (не процессор, не оперативная память) являются узким местом или это вполне рабочая нагрузка и дисковая система справляется, а причина "тормозов" в чем то другом. 2. Почему именно при обновлении баз Касперского наблюдается увеличение показателей связанных с дисковой подсистемой в разы? 3. Как объяснить то, что раньше таких "тормозов" не было, а сейчас они появились, что-нибудь могло произойти с жестким диском (кстати сервер стоит рядом и с определенного времени стало слышно хруст жёсткого диска). 4. Может быть необходимо еще что-нибудь помониторить? |
Имхо, так мало памяти для сервера с таким количеством ролей недопустимо. С ростом баз памяти стало не хватать.
Диски на сбойные кластеры тоже можно проверять, хотя им и положено быть шумными и старыми. |
Цитата:
masyaka, 1) Если подозреваете антивирус, настройте на нем задачу получения обновлений раз в сутки ночью, когда гарантированно никто не работает 2) Проверьте диски с помощью MHDD или Victoria 3) ПРоверьте журнал "Система" на наличие ошибок, с источником "ntfs" или "disk" 4) Проверьте фрагментацию ваших разделов и если есть фрагментация, сделайте дефрагментацию 5) В момент подвисания в диспетчере задач сделайте скриншот вкладки "быстродействие" Отпишитесь по результатам. |
Цитата:
|
Цитата:
Цитата:
А теперь давайте посчитаем: 1) ОС- 500 МБ 2) AD, DNS, DHCP - 200 МБ 3) SQL - как писал ТС - 2 базы по 500 МБ, + 100 МБ на нужды самого SQL'я - 1100 МБ 4) Касперыч 6.0 - до 200 МБ ИТОГО:2000 МБ - Ну а теперь давайте ваши Цитата:
|
Цитата:
В то же время почти аналогичный по ПО 2008 сервер с AD, SQL и антивирусом у меня сразу при старте незагруженный пользователями потребляет 2,2 Гб, а потом нагрузка может быстро расти за счет потребления памяти SQL сервером в зависимости от его настройки. Надо просто время от времени смотреть procexplorer'ом, особенно когда торможение и сравнивать цифры. Причем у меня может доходить тоже до полного зависа, если не обнулить перезагрузкой память отбираемую SQL. У меня правда есть еще терминальные клиенты, а у него нет похоже. Автор темы не проявляется, поэтому может нет смысла дискутировать. Может ему еще имеет смысл помониторить еще сеть, т.к. у него это может быть узким местом, т.к. терминальные клиенты не использует. У меня тоже бывал сетевой шторм при массовых обновлениях антивируса. А память подбросить на сервер никогда не помешает, пока она еще продается такого типа. В своем описании автор похоже право с лево перепутал, т.к большие скачки графиков слева. |
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
2) С этим долго разбирался в итоге вот так SMART диска на котором установлена система. ![]() SMART второго диска(сетевой ресурс) ![]() Результат выполнения линейного чтения диска с системой ![]() Если я все правильно сделал, то судя по SMART, диски вроде как "здоровые". Судя по линейному чтению раз дефектов не найдено значит bad блоков нет. Далее на системном диске запустил еще и Butterfly-чтение, но смутило предполагаемое время тестирования, тестировался диск с 9.00 до 14.00, но сервер долго в простое не может быть пришлось прервать тестирование. Тогда ради интереса запустил Butterfly-чтение на втором диске, который в качестве сетевого ресурса, там показало предполагаемое время на порядок меньше. С чем это связано? Диски же полностью одинаковые различаются только серийные номера Butterfly-чтение системного диска ![]() Butterfly-чтение втрого диска ![]() 3) Ошибок в журнале нет. 4)Фрагментация ![]() ![]() 5) Конкретно момент подвисания поймать не удалось, но вот скрины во время запуска задачи обновления баз Касперского. ![]() ![]() ![]() . |
Память, отбираемую SQL, как sanya предлагал, настраивали?
|
У Вас диск С (с меткой Files) почти под завязку забит. Я так понимаю тут файлопомойка расположена. Файл подкачки на этом же диске? Папки "Program Files" и "Documents and Settings" тоже на нем? По-хорошему почистите диск, освободите место.
|
Цитата:
Цитата:
P.S. Ничего не могу понять...или мне кажется или весна так действует :) Ситуация такая, например смотрел вчера эту тему поздно вечером, сообщений не было, захожу сейчас появилось новое сообщение, я смотрю когда это сообщение было написано, оказывается вчера вечером, то есть я последнее сообщение должен был увидеть еще вчера, а увидел последнее сообщение только сегодня и уже такое замечал не первый раз...хотя может показалось. |
Я бы добавил памяти, включил режим PAE для системы и режим AWE для MSSQL. Настроил макс.объем памяти в свойствах SQL сервера с учетом на то, что 2 ГБ оставить на ОС и другие приложения. Посмотрите сколько памяти забирает процесс mssqlserver.exe, если порядка 1,7 Gb или около того, то явно проблема с нехваткой памяти. Сервер просто свопит. Посмотрите счетчик "Средняя длина очереди диска". То что вы высчитали совокупный объем занятой памяти и он у вас получился 2 Гб, ничего не значит. Т.к. 32 битная ОС для всех приложений оставляет только 2 Гб., остальное резервирует под себя любимую. То что больше 2 Гб, свопится на диск. Сам недавно с таким столкнулся, после проведения всех мероприятий (установка доп. 2 Гб. памяти, PAE, AWE, макс.объем памяти для SQL сервера 4 Гб.) сервер резко задышал. Если раньше средняя длина очереди диска частенько достигала 5-значных значений и сервер просто впадал в ступор, после мероприятий в максимуме опустилась до трехзначных, а в основном не превышает 10.
|
Время: 16:28. |
Время: 16:28.
© OSzone.net 2001-