|
|
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
Жила-была база (ASA 8) на однопроцессорном сервере. Её перенесли на многопроцессорный. Никаких других аппликашек на сервере нет. Вопросы: 1. Надо ли помочь базе осознать постигшее её счастье? Статистику пересобрать или что-то в этом роде? 2. Выполняется длинная процедура закрытия периода. Грубо говоря, для каждого клиентского счета вытягиваем историю изменения остатка и дополнительных параметров за период, производим расчеты, результат пишем в базу, переходим к следующему счету. ASA сама разделит нагрузку по процессорам? Можно ли как-то оптимизировать код, чтобы он лучше "параллелился"? ;-)) (буду очень благодарен за помощь, поскольку ни разу не сталкивался с многопроцессорными серверами и протестить пока не на чем) Да, кстати, операционка Win2000 (это имеет значение?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 17:23 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
Ничего делать не надо. Многопроцессорная архитектура используется СУБД закрыто, без возможности управления этим, все нагрузки распределяются автоматически. Ну а сессии по любому выполняются параллейно, вне зависимости от кол-ва процессоров на сервере, другое дело что чем больше процессоров, тем больше действий действительно выполняются одновременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 20:15 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
Спасибо! А можно ли как-нибудь спрогнозировать эффект от переезда с одного процессора на, например, два? Если раскидываем базу на два физических диска и ставим два процессора - в теории это должно дать преимущество, если ASA сумеет поднять на каждом проце отдельный DBWR, или в ASA как-то не так оно происходит (я не очень в курсе)? Если у кого есть время поделиться поучительными примерами из практики, был бы очень благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2004, 21:58 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
Тут немножко по другому получается. Раскидывание БД и логов на разные физические устройства позволяет ускорить работу СУБД засчет распараллеливания операций чтения и записи информации. А многопроцессорность позволяет на каждый процессор развести выполняющиеся сессии, больше всего это имеет положительный эффект в запросах при проведении операций обьединений таблиц, особенно при использовании Hash-алгоритмов. В некоторых других СУБД в отличие от ASA(например MSSQL) поддерживается возможность автоматического раскидывания выполнения одного запроса по нескольким процессорам, если они простаивают. Однако в жизни сколько я не видел, обычно это не приносит выигрыша в скорости выполнения, наоборот частенько из за этого все тормозит (хотя бы из за проблем доступа и синхронизации нескольких потоков к общей памяти), поэтому в том же MSSQL частенько БД быстрее крутилась на однопроцессорном сервере и заметно начинала подтормаживать на многопроцессорном (видел своими глазами). Единственное, на какой параметр нужно посмотреть - это на параметр запуска сервера "-gn", определяющий кол-во активных запросов, выполняющихся на сервере. По умолчанию он выставлен в 20, то есть если на сервере в один момент времени 20 сессий выполняют запросы, то запрос 21 сессии будет поставлен в очередь. Соответствующе большее кол-во процессоров позволяет пропустить одновременно большое кол-во сессий. Через Performance Monitor можно посмотреть на показатели "Requests: Active" и "Requests: Unscheduled" во время работы БД и соотвествующе, если одновременно выполняющихся запросов (не путать с кол-вом одновременно подключенных сессий) мало, то в параметре можно задать более малое значение, если наоборот активность сессий большая и есть сессии, стоящие в очереди и ожидающие выполнения, то значение параметра необходимо увеличить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 06:26 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
"Воспользовавшись случаем хочу передать привет..." Вопрос в тему: Есть ASA6.04 + Win2000. Так вот если озадачить СУБД запросом, который жутко перебирает одни и теже данные(т.е. вся нагрузка ложится процессор + на обмен с памятью), то проявляется странный эффект. На двухпроцессорной машине загрузка процессора процессом dbsrv6.exe ровно 50%. Создается впечатление, что АСА использует только один проц. Так ли это? Почему система не отдает ей второй проц? Как заставить его использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2004, 22:43 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
iLLEr а ты пробовал смотреть просто загрузку процессоров? показатель загрузка процессора - относится к одному из двух процессоров. то есть должно быть два таких показателя - загрузка проц номер1 и загрузка проц номер 2. получив както двух процессорную машину, я некоторое время наблюдал загрузку процессоров. я не видел, чтобы суммарная загрузка двух процессоров была больше 100 процентов. то есть если один процессор загружен на 51 процент, то второй никогда не бывает загружен больше чем на 49 процентов. 52 - меньше чем 48 и т.д. операционка была WinNT 4.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 02:05 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
iLLer"Воспользовавшись случаем хочу передать привет..." Вопрос в тему: Есть ASA6.04 + Win2000. Так вот если озадачить СУБД запросом, который жутко перебирает одни и теже данные(т.е. вся нагрузка ложится процессор + на обмен с памятью), то проявляется странный эффект. На двухпроцессорной машине загрузка процессора процессом dbsrv6.exe ровно 50%. Создается впечатление, что АСА использует только один проц. Так ли это? Почему система не отдает ей второй проц? Как заставить его использовать? Я думаю что заставить использовать второй процессор на один процесс нельзя - такая архитектура у ASA. Плюс чуть выше я уже описал, что это не так плохо, с учетом всех проблем, возникающих при раскидывании одного запроса по нескольким процессам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.11.2004, 05:40 |
|
||
|
ASA на нескольких процессорах
|
|||
|---|---|---|---|
|
#18+
Увеличение количество процессоров, прежде всего, благотворно сказывается на производительность при работе большого количества сессий. Например, если у Вас одновременно рботают 15-50 человек, то неплохо бы иметь хотя бы 2 проца, а свыше 40-ти задуматься о 4-х процессорной машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 16:29 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32804868&tid=2014036]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 254ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...