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

Откуда:
Сообщений: 485
Добрый день!
Я программист а не администратор базы данных, но вынужден выполнять администраторские функции. Поэтому сильно не пинайте :).
Помогите оценить загрузку MS SQL серверов 2005 в "попугаях".

Подробно:
Имеется полноценный SQL сервер, на котором работает все подразделения.
Была поставлена новая задача, которая была решена и временно работала в тестовом режиме на тестовом компьютере (обычный desktop).
Задача имеет следующие "особенности" все клиенты "почти" не пишут, а только читают информацию, а все данные поступают от внешнего робота.

В процессе опытной эксплуатации изменились требования, и количество внешних источников информации возросло с 8 до 14. И тут сервер начал очень сильно проседать по производительности. Добавление индекса, а самое главное добавление памяти (с 1Gb до 4G) исправило ситуацию.

Встал вопрос о вводе системы в промышленную эксплуатацию.
Нужно понять: переносить задачу на сервер предприятия или выделить для нее отдельный SQL сервер (что бы не нагружать основной сервер и не уменьшить производительность других подразделений).

Для принятия такого решения нужно оценить загрузку основного SQL Server'а и тестового.
Как это сделать? В каких "попугаях". Может в количестве транзакций в секунду?
Как получить данные? (Через SQL запросы или Performance Monitor)

С Уважением,
Александр.
17 апр 14, 10:58    [15894847]     Ответить | Цитировать Сообщить модератору
 Re: Оценка загрузки MS SQL серверов в "попугаях"  [new]
KRS544
Member

Откуда:
Сообщений: 497
нагрузочное тестирование
17 апр 14, 11:19    [15895028]     Ответить | Цитировать Сообщить модератору
 Re: Оценка загрузки MS SQL серверов в "попугаях"  [new]
Lisichkin
Member

Откуда:
Сообщений: 485
Нагрузочное тестирование уже полным ходом идет - т.к. "тестовый" сервер работает под реальной нагрузкой
17 апр 14, 11:26    [15895077]     Ответить | Цитировать Сообщить модератору
 Re: Оценка загрузки MS SQL серверов в "попугаях"  [new]
KRS544
Member

Откуда:
Сообщений: 497
Перенесите базу на сервер.
Суда по этому " но вынужден выполнять администраторские функции" небольшая остановка сервера в случае чего предприятию не повредит. :)
17 апр 14, 11:38    [15895158]     Ответить | Цитировать Сообщить модератору
 Re: Оценка загрузки MS SQL серверов в "попугаях"  [new]
KRS544
Member

Откуда:
Сообщений: 497
Ну а если серьезно, начать с этого:
https://www.sql.ru/articles/mssql/03121001PERF_COUNTERs.shtml
17 апр 14, 11:47    [15895202]     Ответить | Цитировать Сообщить модератору
 Re: Оценка загрузки MS SQL серверов в "попугаях"  [new]
Lisichkin
Member

Откуда:
Сообщений: 485
Там https://www.sql.ru/articles/mssql/03121001PERF_COUNTERs.shtml столько счетчиков.. какой мне нужно использовать для оценки?

P.S. У меня нет доступа к Серверу на котором установлен SQL - я не могу запустить mmc оснастки...только SQL код

Нашел в интернете следующий код измеряющий количество транзакций в секунду:
+
--DROP TABLE #PerfTable;
CREATE TABLE #PerfTable(ts DATETIME, TranPerSec BIGINT);

DECLARE @iVar1 INT, @iVar2 INT, @dStartTime DATETIME

-- Получаем текущее время
SET @dStartTime = getdate();

-- Получаем текущее значение счетчика и ждем 5 секунд
SELECT @iVar2=cntr_value FROM master..sysperfinfo WHERE counter_name = 'Transactions/sec' AND instance_name = 'TvInfo';

WAITFOR DELAY '00:00:05'

-- Запускаем цикл, который будет работать минуту
WHILE getdate() < dateadd(mi,5,@dStartTime) BEGIN

	-- Получаем еще раз значение счетчика (когда прошло 5 секунд)
	SELECT @iVar1=cntr_value FROM master..sysperfinfo WHERE counter_name = 'Transactions/sec' AND instance_name = 'TvInfo';

	-- Вставляем разницу между двумя значениями в таблицу #PerfTable
	INSERT INTO #PerfTable (ts,TranPerSec) VALUES (getdate(), @iVar1 - @iVar2);

	-- ... и записываем текущее значение в первую переменную,
	SET @iVar2 = @iVar1;

	-- Опять ждем пять секунд
	WAITFOR DELAY '00:00:05'

END

-- Когда цикл закончится, выводим записанные в таблицу значения
SELECT * FROM #PerfTable;


SELECT TranPerSec FROM #PerfTable;

На основании скрипта получил следующие данные:

Транзакций в секунду: min max avg
Основной сервер: 10 72 24
Тестовый сервер: 0 11 5

Можно сказать что Загрузка Тестового сервера составляет 5*100/24= 21% от Основного сервера?
Т.е. если перенеси функционал с тестового сервера на Основной, нагрузка увеличится на 21% ???
17 апр 14, 16:31    [15897104]     Ответить | Цитировать Сообщить модератору
 Re: Оценка загрузки MS SQL серверов в "попугаях"  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Попугаи + производительность

Сообщение было отредактировано: 17 апр 14, 16:35
17 апр 14, 16:34    [15897124]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить