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

Откуда: Москва
Сообщений: 408
Господа эксперты, подскажите такой момент.

Мы столкнулись с такой проблемой, что наша база под Microsoft SQL Server EE должен выдержать в будущем следующую нагрузку - 450 вызовов хранимых процедур в секунду в пиковые часы.
Понятно, что многое зависит от корректности написанных хранимых процедур, но все-таки вопрос.
Сможет ли один сервер Microsoft SQL 2005 выдержать такую нагрузку?
Или нужно дробить базы, в ущерб целостной структуре, базы раскидывать на разные сервера и распределять нагрузку по серверам?
15 сен 09, 11:16    [7659499]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33357
Блог
сами понимаете, что вопрос ни о чем
15 сен 09, 11:22    [7659550]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Glory
Member

Откуда:
Сообщений: 104760
Challenger

Сможет ли один сервер Microsoft SQL 2005 выдержать такую нагрузку?

На каком нибудь целероне с 1м гигабайтом памяти и иде-диском вряд ли выдержит )
15 сен 09, 11:26    [7659582]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
Challenger
Господа эксперты, подскажите такой момент.

Мы столкнулись с такой проблемой, что наша база под Microsoft SQL Server EE должен выдержать в будущем следующую нагрузку - 450 вызовов хранимых процедур в секунду в пиковые часы.
Понятно, что многое зависит от корректности написанных хранимых процедур, но все-таки вопрос.
Сможет ли один сервер Microsoft SQL 2005 выдержать такую нагрузку?
Или нужно дробить базы, в ущерб целостной структуре, базы раскидывать на разные сервера и распределять нагрузку по серверам?
Может один, а можно и дробить.

450 вызовов хранимых процедур в секунду - это очень неконкретно, слишком широкий диапазон нагрузки (слишком зависит от функциональности этих процедур).

У нас в пиковые часы 1000 вызовов/сек - при этом недорогой сервер загружен не очень сильно.
15 сен 09, 11:26    [7659585]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
без железа на котором стоит,сам сд-диск с записанім дистрибутивом не відержит скорее всего,а в купе с хорошим железом и нормально написанім кодом и не такое відержит.
-------------------------------------
Jedem Das Seine
15 сен 09, 11:27    [7659592]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
Критик
сами понимаете, что вопрос ни о чем


Вопрос вполне конкретный на мой взгляд.
15 сен 09, 11:32    [7659631]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
По железу мы ориентируемся на blade server с такой конфигурацией например,
1 x шасси Intel MFSYS25 (2 x 1КВт, RAID, 10 port switch)
2 x дополнительный БП 1000W
6 x сервер Intel MFS5520VI (dual Gbe, video)
12 x процессор Intel Xeon E5504 Quad-Core 2.0Гц/4.8GT/4M
6 x память Kingston DDR3 ECC registered 4Gb
14 x Жесткий диск Seagate server edition 146Gb/SAS/10K
6 x дополнительный двух-портовый сетевой адаптер Gbe
1 x дополнительный сетевой коммутатор, 10 портов
1 x дополнительный RAID контроллер 0/1/5/6/10/50/60
1 x рельсы для монтажа оборудования в стойку 19"
15 сен 09, 11:33    [7659645]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
База написана почти идеально, все что положено нормализовано, все запросы внутри процедур идут по индексам.
15 сен 09, 11:35    [7659667]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
iljy
Member

Откуда:
Сообщений: 8711
Challenger,

только на ваш. Помимо конфигурации сервера необходимо еще знать характер нагрузки. 450 процедур - это здорово конечно, но они могут как рассчитывать значение 2+2*2, так и делать весьма серьезную выборку из несколько больших таблиц.
15 сен 09, 11:38    [7659708]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
автор
12 x процессор Intel Xeon E5504 Quad-Core 2.0Гц/4.8GT/4M
6 x память Kingston DDR3 ECC registered 4Gb
14 x Жесткий диск Seagate server edition 146Gb/SAS/10K


Нам, конечно, ничего не известно о размере бд, характеристики нагрузки и т.п. Но соотношения кол-ва ядер, размера дисковой системы и RAM мне кажется не сбаллансированным.
15 сен 09, 11:42    [7659746]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
Пример среднестатистической процедуры.
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO


CREATE                            PROC webSrv_DealerInfo
	@iSessionID int,
	@strResult varchar(128) = NULL OUTPUT,
	@DealerName varchar(128) = NULL OUTPUT,
	@DealerQuant smallint = NULL OUTPUT,
	@PayForQuant money = NULL OUTPUT,
	@Traffic int = NULL OUTPUT,
	@TrafficMonth int = NULL OUTPUT,
	@Summ money = NULL OUTPUT,
	@CurrencyName varchar(32) = NULL OUTPUT,
	@ShowCardsCalls bit = NULL OUTPUT
	
AS
DECLARE
	@Result int,
	@ProcDuration int,
	@QueryText varchar(32),
	@dtProcStart datetime,
	@QueryType smallint,
	@CardID int,
	@CurrencyID smallint,
	@intDealerID int,
	@DealerID int,
	@tmpiSessionID int,
	@AccountID bigint,
	@CCID smallint

	SET @dtProcStart=GETDATE()
	SET @QueryType=73
	SET @StrResult=''
	SET @Result=-1

	SET @tmpiSessionID=NULL
	SET @DealerID=NULL
	SELECT @tmpiSessionID=iSessionID,@DealerID=DealerID,@AccountID=AccountID,@CCID=CCID
		FROM tbCallsInet(NOLOCK)
		WHERE (iSessionID=@iSessionID)

	IF (@tmpiSessionID IS NULL)
	BEGIN
		SET @Result = -1049
		GOTO finish_webSrv_DealerInfo
	END
	UPDATE tbCallsInet
		SET FixTime=GETDATE()
		WHERE (iSessionID=@iSessionID)

	IF (@DealerID IS NULL)
	BEGIN
		SET @Result = -1050
		GOTO finish_webSrv_DealerInfo
	END

	SET @intDealerID=NULL
	SELECT @intDealerID=DealerID,@DealerName=DealerName,@DealerQuant=DealerQuant,@PayForQuant=PayForQuant,
		@Traffic=Traffic,@TrafficMonth=TrafficMonth,@CurrencyID=CurrencyID,@ShowCardsCalls=ShowCardsCalls
		FROM tbDealers(NOLOCK)
		WHERE (DealerID=@DealerID)
	IF (@intDealerID IS NULL)	
	BEGIN
		SET @Result = -1048 -- нет диллера
		GOTO finish_webSrv_DealerInfo
	END
	
	SELECT @CurrencyName=CurrencyName
		FROM tbCurrency(NOLOCK)
		WHERE (CurrencyID=@CurrencyID)

	IF (@DealerQuant=0)
		SET @Summ=0
	ELSE
		SET @Summ=(@TrafficMonth/@DealerQuant)*@PayForQuant

	
	SET @Summ = 0
	SET @TrafficMonth = 0

	SET @Result=0
	
	finish_webSrv_DealerInfo:

	SET @QueryText=CAST(@DealerID AS VARCHAR)
	SET @ProcDuration=DATEDIFF(ms,@dtProcStart,GETDATE()) 
	EXEC int_Log @QueryType,@Result,@QueryText,@ProcDuration,@AccountID,@CCID,@iSessionID	

	RETURN @Result



GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO


15 сен 09, 11:43    [7659761]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Challenger,

Текст процедуры не говорит ровно ни о чем.
15 сен 09, 11:48    [7659805]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
Challenger
Пример среднестатистической процедуры.
для таких процедур - по процессорам сильно избыточный сервер.

Но один модуль рам на 2 процессора и один диск на процессор - это маловато :-)
15 сен 09, 11:49    [7659817]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
pkarklin
Challenger,

Текст процедуры не говорит ровно ни о чем.
Да в общем приблизительно, для грубой оценки, понятно: 4 выборки по одной записи по ПК и запись одной строчки в лог...
15 сен 09, 11:52    [7659843]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
alexeyvg
Challenger
Пример среднестатистической процедуры.
для таких процедур - по процессорам сильно избыточный сервер.

Но один модуль рам на 2 процессора и один диск на процессор - это маловато :-)


Это понятно. Я особо не продумывал конфигурацию. Приблизительно ее указал. Просто хотел показать, что сервер производительный.
15 сен 09, 11:52    [7659848]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
Как правильно заметили, мне нужна грубая оценка в данном вопросе.
15 сен 09, 11:55    [7659872]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
alexeyvg,

Опять же, на вскидку. В лог записывается продолжительность работы хп только в части выборки и минорных вычислений. А вот, что твориться при записи выпадает из замеров. ;)
15 сен 09, 11:56    [7659874]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Кстати, не совчем понятно, зачем такой лог нужен, если статистику можно собрать профайлером или с помощью sys.dm_exec... вьюх.
15 сен 09, 11:58    [7659888]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
pkarklin
Кстати, не совчем понятно, зачем такой лог нужен, если статистику можно собрать профайлером или с помощью sys.dm_exec... вьюх.


А если профайлер не запущен?
Гораздо удобнее работать со специализированными сделанными под себя логами, в которые записано то что нужно для анализа.
15 сен 09, 12:02    [7659926]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Challenger
А если профайлер не запущен?
Гораздо удобнее работать со специализированными сделанными под себя логами, в которые записано то что нужно для анализа.


если не запущен, то анализ вьюх sys.dm_exec. Ваш лог, к сожалению, не покажет всей картины, ибо одна из самых "интересных" частей - запись в лог, в которой, собственно и могут оказаться основные затыки не фиксируется.
15 сен 09, 12:04    [7659955]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36808
Challenger
pkarklin
Кстати, не совчем понятно, зачем такой лог нужен, если статистику можно собрать профайлером или с помощью sys.dm_exec... вьюх.


А если профайлер не запущен?
Гораздо удобнее работать со специализированными сделанными под себя логами, в которые записано то что нужно для анализа.
Я уверен, что в ваш лог не попадает примерно 90% информации, нужной для анализа производительности.
15 сен 09, 12:04    [7659956]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Challenger
Member

Откуда: Москва
Сообщений: 408
Гавриленко Сергей Алексеевич
Challenger
pkarklin
Кстати, не совчем понятно, зачем такой лог нужен, если статистику можно собрать профайлером или с помощью sys.dm_exec... вьюх.


А если профайлер не запущен?
Гораздо удобнее работать со специализированными сделанными под себя логами, в которые записано то что нужно для анализа.
Я уверен, что в ваш лог не попадает примерно 90% информации, нужной для анализа производительности.


В этом случае как раз запускается профайлер, если чего-то не хватает, а это нужно проанализировать.
15 сен 09, 12:05    [7659968]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
[полуофф]
Я бы попытался не доступаться к одной и той же записи таблицы tbCallsInet дважды
(сначала на выборку, потом - на изменение)
Хотя... может, я не до конца понял логику процедуры и что там хинты эти делают...
В общем, хотя бы подумать об этом автору, наверное, не будет лишним
[/полуофф]
15 сен 09, 12:06    [7659985]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31194
Challenger
Это понятно. Я особо не продумывал конфигурацию. Приблизительно ее указал. Просто хотел показать, что сервер производительный.
Для таких процедур очень грубо достаточно 2-х процессорного сервера с 32 рам и десятком-другим дисков.

Это для чистого олтп с такими процедурами. Для бакофиса и репортов возможно нужен второй сервер, но это всё таки не размазывание олтп-нагрузки по многим серверам.

С блейдами будьте поосторожнее - всё таки SMP не оцень хорошо работает с медленной шиной памяти; хотя я не имею большого опыта работы с ними - могу и ошибаться.

pkarklin
alexeyvg,

Опять же, на вскидку. В лог записывается продолжительность работы хп только в части выборки и минорных вычислений. А вот, что твориться при записи выпадает из замеров. ;)
В данном случае для оценки нагрузки достаточно предположить, что EXEC int_Log делает вставку одной записи. Полезная эта запись или нет - я не рассматривал :-)
15 сен 09, 12:11    [7660026]     Ответить | Цитировать Сообщить модератору
 Re: Miscrosoft SQL Server как справляется  [new]
Crimean
Member

Откуда:
Сообщений: 13148
> все что положено нормализовано

вот это как раз оч сильно пугает
15 сен 09, 12:13    [7660046]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить