Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » Тормозит 1С (MS SQL). Как диагностировать?

Ответить
Настройки темы
Тормозит 1С (MS SQL). Как диагностировать?

Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 178


Конфигурация

Профиль | Отправить PM | Цитировать


Здравствуйте.

Имеется сеть из 25 компьютеров, одновременно работающих с 1С. Выделенный сервер Win2003 на Xeon E5410 2.53 Ghz, 16 Gb Ram, SCSI диски, сетевой интерфейс на сервере 1 Gbit/s подключен к пассивному свитчу D-Link с 2-я гигабитными портами. Остальные клиенты подключены в этот же свитч к 100 Mbit-ным портам. База MS SQL, серверная и клиентская программы 1С работают на сервере. Папка с клиентской частью общая. Пользователи на рабочих станциях запускают программу из общей папки. Также сервер используется как сервер терминалов для работы 3-х пользователей.

На одном из серверов сети установлена система мониторинга Cacti. Средняя загрузка сервера с 1С в принципе не большая: загрузка всех 8-и ядер в среднем составляет 10-15% иногда подскакивает до 30-30%. Сеть в среднем загружена на 10 Mbit/s во время начала работы в 9-00 загрузка сети возрастает до 30 Mbit/s. Меня немного смущает загрузка оперативной памяти: если перезагрузить сервер то из всей RAM используется только 8 ГБ. После 2-х недель непрерывной работы, оперативка забивается на 12-15 ГБ. Причём основные потребители это sqlserver.exe = 3.5 Гб и несколько процессов rphost.exe*32 = 7 Гб.

Практически все пользователи в основном утром жалуются на "тормоза программы". Я не работаю в 1С и не представляю что там может тормозить. Но они говорят что медленно проводятся документы и делаются какие-то выборки... Корреляции тормозов системы с системными ресурсами я не замечал.

Подскажите пожалуйста в какую сторону копать? Где могут быть слабые стороны системы? Как можно проверить скорость текущего обмена с жёсткими дисками?

P.S. Будут интересны любые мнения.

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 10:57, 03-06-2011

 
QRS QRS вне форума

Ветеран


Сообщения: 630
Благодарности: 111

Профиль | Отправить PM | Цитировать


Tonny_Bennet, коммутатор не самый плохой.
Цитата Tonny_Bennet:
Запустил мониторинг loopback интерфейса. За сегодняшний день трафика на loopback интерфейсе не было. Может ли это означать что обращение идёт через tcp/ip? »
Нет, т.к. при задании адреса SQL базы "localhost" подключение идет без TCP\IP (что и повышает быстродействие).

Цитата Tonny_Bennet:
Сам сервер достаточно далеко, так что внутрь влезь смогу только при крайней необходимости.... думаю там RAID-0 или вовсе никакого RAID нет. »
Если на сервере стоит приложение от RAID, то оно покажет тип RAID.
Если никакого резервирования (отказоустойчивости) нет, то ругать Вас будет Ваше начальство...

Цитата Tonny_Bennet:
Как проследить какие процессы занимают ядра процессоров? »
Если у Вас в системе видно 4 лоческих процессора, то любой процесс, стабильно (в течение 10 и более секунд) потребляющий 25% (=1/4) CPU - потенциальный источник узкого места (по процессору). Есть еще узкое место по ОЗУ и жесткому диску.
Для оценки нагрузки процесса на диск и ОЗУ - смотрите утилиту procexp (из комплекта sysinternals).

Цитата Tonny_Bennet:
Цитата QRS: некоторые умельцы настраивают прирост базы SQL по 1Мб или 1%... в результате у них вся база фрагментирована; проведите shrink mdf-файла. »
Поясните пожалуйста о чём речь? Я не понял. »
В настройках конкретной базы SQL указан параметр прироста = 1Мб, т.к. файл базы наращивается по 1Мб - это приводит к сильной фрагментации.
Shrink - стандартная процедура обслуживания SQL базы.

Цитата Tonny_Bennet:
Отдал под MS SQL 6 ГБайт оперативки. Отрубил использование файла подкачки. »
Требования ОЗУ для SQL под 1С определяются объемом баз (и справочниками) и определяются в основном практическим путем, чтобы оптимальный объем данных (в разумных пределах) попадал в кеш сервера. Понятно, что SQL очень лоялен к прочим процессам и может уступать память "заржавшемуся" rphost.

Цитата Tonny_Bennet:
запускается пару копий для тестов и разработки скриптов программистом. »
Это не хорошо, т.к. приводит к "захламлению" кеша SQL и 1С-сервера левыми данными неинтересными рабочим базам - это сильно снижает производительность; проблема как правило успешно решается приобретением оотдельной рабочей станции на базе i5 с 4 ядрами + 4-8 Гб ОЗУ - разработчики счастливы, т.к. на этой машине их базы летают быстрее, чем на сервере.
Для оптимизации нагрузки, тестовые SQL-базы можно перевести в bulk recovery mode - это немного снизит нагрузку на SQL.

PS: сайт Гилева я Вам не зря рекомендовал.
PS2: PerfMon никто не отменял - начинайте с него и ищите узкое место.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:19, 06-06-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 178

Профиль | Отправить PM | Цитировать


Цитата QRS:
Если на сервере стоит приложение от RAID, то оно покажет тип RAID. »
Приложения от RAID не нашёл. Возможно RAID настроен через BIOS тогда по идее не будет видно что он есть...

Цитата QRS:
Если у Вас в системе видно 4 лоческих процессора, то любой процесс, стабильно (в течение 10 и более секунд) потребляющий 25% (=1/4) CPU - потенциальный источник узкого места (по процессору). Есть еще узкое место по ОЗУ и жесткому диску.
Для оценки нагрузки процесса на диск и ОЗУ - смотрите утилиту procexp (из комплекта sysinternals). »
Поставил себе утилиту procexp. Очень полезная штука. У меня видно 8 логических процессов и в принципе ни на одном из них загрузка не поднимается более 15% (думаю после перезагрузки системы на выходных нужно будет как минимум неделя чтобы начались тормоза)

Цитата QRS:
В настройках конкретной базы SQL указан параметр прироста = 1Мб, т.к. файл базы наращивается по 1Мб - это приводит к сильной фрагментации.
Shrink - стандартная процедура обслуживания SQL базы. »
Прочитал про Shrink. Решил проверить насколько поможет эта процедура одной из тестовых баз (загружать основную базу побочными операциями в рабочее время не рискнул). Процедура в процессе выполнения уже более часа. Размер базы около 10 Гб. Жду...

По поводу прироста: в настройках *mdf файла указано Autogrowth: By 1 MB, unrestricted growth; в настройках *.log фала Autogrowth: By 10 percent, restricted growth to 2095172 MB. Стоит ли увеличивать размер прироста базы чтобы избежать фрагментации? На сколько? Как сильно это приведёт к разрастанию базы?

Цитата QRS:
проблема как правило успешно решается приобретением оотдельной рабочей станции на базе i5 с 4 ядрами + 4-8 Гб ОЗУ - разработчики счастливы, т.к. на этой машине их базы летают быстрее, чем на сервере. »
Просто я так понимаю придётся копировать бекап базы (порядка 10 ГБ) на этот комп и там подгружать в MS SQL. Думаю это будет достаточно долго.... Или есть какие-нибудь другие варианты работы?

Цитата QRS:
Для оптимизации нагрузки, тестовые SQL-базы можно перевести в bulk recovery mode - это немного снизит нагрузку на SQL. »
Думаю нужно будет обсудить с программистом. Ибо мне пока страшновато что-то кординально изменять в настройках сервера.

Цитата QRS:
PS: сайт Гилева я Вам не зря рекомендовал. »
Мне многие его советовали. Я кое-какие рекомендации по настройке MS SQL проделал. Просто там иногда достаточно сложно загнуто как мне кажется. А здесь есть обратная связь и хоть какой то разбор текущей проблемной ситуации...

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 15:29, 07-06-2011 | #12

QRS QRS вне форума

Ветеран


Сообщения: 630
Благодарности: 111

Профиль | Отправить PM | Цитировать


Цитата Tonny_Bennet:
Приложения от RAID не нашёл. Возможно RAID настроен через BIOS тогда по идее не будет видно что он есть... »
Посмотрите как в диспетчере устройств называются Ваши накопители.

Цитата Tonny_Bennet:
У меня видно 8 логических процессов и в принципе ни на одном из них загрузка не поднимается более 15% (думаю после перезагрузки системы на выходных нужно будет как минимум неделя чтобы начались тормоза) »
Мониторить нужно процессы, а не процессоры. Если процесс потребляет более 12% - открывайте его свойства - вкладка Threads - если потребление процессора идет одним потоком - то это узкое место по процессору.

Цитата Tonny_Bennet:
Autogrowth: By 1 MB, unrestricted growth; в настройках *.log фала Autogrowth: By 10 percent, restricted growth to 2095172 MB. Стоит ли увеличивать размер прироста базы чтобы избежать фрагментации? На сколько? Как сильно это приведёт к разрастанию базы? »
Autogrouth mdf можно задать хотя бы 20% того объема, что у Вас освободится от shrink.
К разрастанию базы это приведет несущественно, т.к. расти она будет в том же темпе, просто скачков будет меньше, но будут они больше.

Цитата Tonny_Bennet:
Просто я так понимаю придётся копировать бекап базы (порядка 10 ГБ) на этот комп и там подгружать в MS SQL. Думаю это будет достаточно долго.... Или есть какие-нибудь другие варианты работы? »
А как у Вас тестовая база формировалась ранее? Все зависит от постановки задачи: что из себя представляет тестовая база.
Можно, например, в ночное время запускать одностороннюю репликацию с основного на тестовый сервер. А можно как Вы предложили - ночью скриптом выгрузить и загрузить базу.

Цитата Tonny_Bennet:
А здесь есть обратная связь и хоть какой то разбор текущей проблемной ситуации... »
Если сообщение показалось Вам полезным, то есть хорошая традиция отмечать его.

Отправлено: 21:19, 09-06-2011 | #13


Аватара для greg_b

Ветеран


Сообщения: 4735
Благодарности: 1418

Профиль | Отправить PM | Цитировать


Tonny_Bennet, о коммутаторе -
Производительность

Коммутационная матрица
13,6 Гбит/с
- и это 50 Гигабитных портов? Для агрессивных нагрузок очень плохой вариант, по-мониторьте сеть на битые пакеты, можно просто при большой загрузке посмотреть на компах жалующихся - статистику сети командой netstat -e, в нормальной сети будет как-то так:
Цитата:
Статистика интерфейса

Получено Отправлено

Байт 17795872 1284077
Одноадресные пакеты 14797 9809
Многоадресные пакеты 7809 267
Отброшено 0 0
Ошибки 0 0
Неизвестный протокол 0
, если при миллионе преданных пакетов у вас до 100 ошибок - это терпимо, отброшенные говорят о плохой сетевой карте - не справляется или неправильно настроена.

-------
Опыт — это слово, которым люди называют свои ошибки. P.S. "Полезное сообщение" не пишется, а нажимается.
Мои аддоны

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:56, 09-06-2011 | #14


Аватара для Tonny_Bennet

Ветеран


Сообщения: 1384
Благодарности: 178

Профиль | Отправить PM | Цитировать


Цитата greg_b:
13,6 Гбит/с - и это 50 Гигабитных портов? »
нет, это 48 портов по 100 Мбит/с и 2 порта по 1 Гбит/с

Присмотритесь внимательнее DES-1050G

по поводу ошибок сети: обязательно приму на заметку. Спасибо

-------
Сообщение оказалось полезным? Кнопка Полезное сообщение располагается чуть ниже.


Отправлено: 16:30, 22-08-2011 | #15


Аватара для zero55

Ветеран


Сообщения: 723
Благодарности: 127

Профиль | Сайт | Отправить PM | Цитировать


1С сам по себе может тормозить нещадно...

Надо смотреть начиная с клиента
1. процессор
2. память
3. диски

На сервере
1. процессор
2. память
3. диски

Посмотрите чтение запись в файлы данных и файлы логов.
1. какая версия SQL
2. какая конфигурация файлов данных
3. установлена ли опция AUTOSHRINK

Отправлено: 22:55, 22-08-2011 | #16


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


а сколько бы вы порекомендовали оперативной памяти на сервер SQL 2008 R2, размер базы 80гб, 4х ядерный XEON 2,99ггц, диски 6шт в рейде 10. 2000й летал, 2008 подтормаживает.

-------
compline-ufa.ru компьютерная помощь в Уфе


Отправлено: 12:30, 13-09-2011 | #17


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


http://www.gilev.ru/services/online

Отправлено: 16:07, 15-12-2012 | #18



Компьютерный форум OSzone.net » Серверные продукты Microsoft » Microsoft Windows NT/2000/2003 » Тормозит 1С (MS SQL). Как диагностировать?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Друзья, помогите диагностировать проблему EXL Непонятные проблемы с Железом 8 09-08-2010 10:21
Как диагностировать "издыхающий" DVD-RW привод? truvo Хочу все знать 5 09-10-2009 19:20
Разное - [решено] *SQL* | MS SQL-2005 как узнать зависимые таблицы pva Программирование и базы данных 1 21-09-2009 10:55
Разное - *SQL* | Как получить данные HTTP->SQL pva Программирование и базы данных 4 11-09-2009 21:49
[решено] Как диагностировать и вылечить проблему со шрифтом? truvo Хочу все знать 4 06-07-2009 14:46




 
Переход