powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Смена железа
5 сообщений из 5, страница 1 из 1
Смена железа
    #32001224
Kampiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В основном отчеты варим - с кучей SQL запросов, которые генерятся на клиенте.
...
Рейтинг: 0 / 0
Смена железа
    #32001225
Kenat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть дисциплина "Оценка производительности вычислительных систем".Для того чтобы определить как возрастёт (ли) производительность системы , в данном варианте надо рассмотреть какие запросы формируются для сервера - то есть если 50 юзеров выполнят Select * from tbl left join where по 1000 записей то всё ограничется пропускной способность сети , а вот если будут выполняться хранимые процедуры
что - то в виде :
-- create procedure ....
declare @LeafLevel integer
declare @Sequence integer
declare @line varchar(1024)

delete from HTB_00000000

create table #Stack (
MemberID integer,
LeafLevel integer
)

insert into #Stack values ( @MemberID, 1)
select @LeafLevel = 1
select @Sequence = 1
while @LeafLevel > 0
begin
if exists (select * from #Stack where LeafLevel = @LeafLevel )
begin
select @MemberID = MemberID
from #Stack
where LeafLevel = @LeafLevel
--
insert into HTB_00000000 values ( @Sequence,@LeafLevel,@MemberID )

select @Sequence = @Sequence+1
--
delete from #Stack
where LeafLevel = @LeafLevel
and MemberID = @MemberID
insert #Stack
select dbo.Member.MemberID, @LeafLevel + 1
from dbo.Member
where OwnerID = @MemberID

if @@rowcount > 0
select @LeafLevel = @LeafLevel + 1
end
else
select @LeafLevel = @LeafLevel- 1
end

изначально членов около 14000 и глубина дерева - 60 -70
то время запроса будет варьироваться следующим образом
Один проц Duron 700 - 11 мин
два Дюрона - 4 мин
но паралельном запросе с двух машин , во втором случае порядка 7 мин (всё дерево),
если запросы с разных вершин дерева ( не пересекающиеся ) то где-то все те же 4 мин.
А вообще-то странный этот NT .... и его распаралеливание процессов.
...
Рейтинг: 0 / 0
Смена железа
    #32001226
Kenat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Автоматическое решение о том, применять ли параллельную обработку запросов, в SQL Server 7.0 зависит от ответов на следующие вопросы:
1. Работает ли SQL Server на компьютере с несколькими процессорами (SMP-машине)? Параллельные запросы могут выполняться только на компьютерах, включающих более одного процессора.
2. Используете ли вы SQL Server 7.0 версии Desktop, Standard или Enterprise? SQL Server Desktop Edition поддерживает до двух процессоров, Standard Edition может работать с четырьмя процессорами, а Enterprise Edition — с восемью.
3. Сколько активных пользователей в настоящее время обращаются к серверу? SQL Server следит за использованием процессоров и корректирует степень параллельности в момент запуска запроса. Если процессоры заняты, он выбирает более низкий уровень параллельности.
4. Достаточно ли доступной памяти для параллельного выполнения запроса? Каждому запросу для работы нужен определенный объем памяти, причем параллельные запросы требуют больше памяти, чем непараллельные. Объем памяти, необходимый для выполнения параллельного запроса, увеличивается с ростом степени параллельности. Если требования параллельного плана к памяти невозможно удовлетворить при данной степени параллельности, SQL Server автоматически уменьшает ее или совершенно отказывается от параллельного плана запроса в условиях текущей нагрузки и выполняет последовательный план.
5. Каков тип выполняемого запроса? Лучшими кандидатами для параллельного выполнения будут запросы, использующие много тактов процессора. Примером таких задач могут служить соединения больших таблиц, обширные агрегации или сортировки больших наборов данных. Оказывается, что для простых запросов, которые часто встречаются в приложениях обработки транзакций, необходимая при параллельном выполнении дополнительная координация перевешивает потенциальный выигрыш в производительности. Чтобы узнать, в каких запросах параллельность будет полезна, а в каких нет, SQL Server сравнивает оценку затрат на выполнение запроса с порогом затрат для параллелизации. Администраторы могут изменить заданное по умолчанию значение порога, хотя делать это не рекомендуется.
6. Достаточно ли строк в данном конкретном потоке? Если оптимизатор запросов определяет, что число строк в потоке слишком мало, он не включает в план параллельные операторы. Выполнение последовательного плана позволяет избежать ситуации, когда затраты на запуск, распределение и координацию потоков превысят выигрыш, связанный с параллельным выполнением.


Это в догонку из "Процессор запросов Microsoft SQL Server 7.0"
Гетц Грефе, Джим Эвел и Сезар Галиндо-Легариа
...
Рейтинг: 0 / 0
Смена железа
    #32001231
Kampiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за отклик.
В основном запросы SELECT SUM(Field1) FROM TABLE WHERE DATE1>'01.12.2000' AND и т.д.
Если работает один процесс с генерацией отчетов, то при подключение второго процесса с другой машины скорость падает ровно в два раза.
Думаю надо брать, а что такое проц Duron-а?

Извените за ламерство
...
Рейтинг: 0 / 0
Смена железа
    #32001238
Kenat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К стати, в варианте select SUM( Field) from ... where ... having sum( Field2) > ....
Возможно , что суммирование выполняется не на сервере а на рабочей станции - сие происходит в BDE если установлен диалект SQL local а не SERVER и как результат сначала выбираются записи а потом они подсчитываются - повышение траффика сети и замедление работы .
Я проверил суммировании порядка 9000 записей - ответ менее 1 сек на рабочих станциях :

select Orders.MemberID,
LastName,
FirstName,
sum(ValueTotal)
from Orders
Left join Member On ( Member.MemberID = Orders.MemberID )
where OrderType = 0
AND ReportMonth = '01.11.2000'
Group By Orders.MemberID, LastName, FirstName
Having sum( ValueTotal ) >= 150
Order By LastName
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Смена железа
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]