Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE распараллеливание / 16 сообщений из 16, страница 1 из 1
16.11.2009, 13:19
    #36312367
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Доброго времени суток.

Встала такая задача: есть база на АСЕ15.
Есть клиентское приложение (если интересно писано на БДС 2006 - делфя).

В клиенте есть две квери, формирующие не зависимые запросы (без локов).
Так вот если выполнять квери последовательно, т.е. сначала одну активируем, потом вторую, то время выполнения запроса ничуть не отличается от того, если выполнять каждую из кверей в паралелльном потоке (т.е. стартует выполнение одного потока - кверя1, тут же стартует второй поток - кверя2)...

Само собой впорос - а должна ли быть вкусность в виде прироста производительности (общего времени выполнения запросов) при разводе их в разные потоки? Или может я не правильно понимаю концепцию потоков? Возможно нужны какие-то настройки сервака?
...
Рейтинг: 0 / 0
16.11.2009, 13:28
    #36312398
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83
Возможно нужны какие-то настройки сервака?

Когда Вы разведете эти два вопроса по потокам (ессесно, родив для каждого все "...пристани.параходы..." (4 example: TADOConnection, TADOQuery etc.)), то для сервака Ваше одно приложение будет выглядеть как обычных два.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 13:43
    #36312438
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
В том-то все и дело, что для каждого запроса создается независимая TADOQuery с независимыс подключением к БД (для каждой прописывается ConnectionString).
Но большое ощущение, что на самом серваке запросы обрабатываются последовательно. Т.е. создается впечатление, что сервак их ставит в очередь и сначала выполняет один, потом второй.
Такое заключение я сделал основываясь на том, что в централе сначала появляется один процесс, потом следующий процесс уже с другим спидом...
...
Рейтинг: 0 / 0
16.11.2009, 13:57
    #36312496
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83 wrote:

Это зависит от очень многих факторов,
и общее правило тут такое: если вы используете
несколько потоков, т.е. делаете запросы параллельно
на клиенте, и используете при этом два разных соединения
(или больше) с БД, то ваши запросы МОГУТ потенциально
выполняться параллельно и на сервере. Если вы
этого не сделаете, то они выполняться будут строго
последовательно.

Ну а далее хочу спросить хотя бы сколько у вас
на сервере процессоров, engine-ов, и ещё много
чего.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 14:03
    #36312518
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83
В том-то все и дело, что для каждого запроса создается независимая TADOQuery с независимыс подключением к БД (для каждой прописывается ConnectionString).

/me думает: гут... зер гут...
Mikle83
Но большое ощущение, что на самом серваке запросы обрабатываются последовательно. Т.е. создается впечатление, что сервак их ставит в очередь и сначала выполняет один, потом второй. Такое заключение я сделал основываясь на том, что в централе сначала появляется один процесс, потом следующий процесс уже с другим спидом...

/me думает: гм... Хохол не верит - пока не проверит: я вот, в свое время, правда для других целей, накидал дрозофилку (правда на шарпе) и все логгировал сам - у меня все сухо... BTW, Вы какие-то долгоиграющие запросы запустите - тогда и в централе увидите, что они живут параллельно...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 14:15
    #36312566
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Запросы и так не слабые по времени (~15 секунд каждый).


MasterZiv
Ну а далее хочу спросить хотя бы сколько у вас
на сервере процессоров, engine-ов, и ещё много
чего.

там 2 двухядерных процессора стоит...
Мож есть какие-то настройки сервера - шевельнуть, чтоб он начал параллелить?
...
Рейтинг: 0 / 0
16.11.2009, 14:27
    #36312606
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83
Мож есть какие-то настройки сервера - шевельнуть, чтоб он начал параллелить?

Каждый коннект можно приравнять кодному отдельно взятому клиенту. Получается у Вас и так от ВСЕХ клиентов ВСЕ запросы выполняются последовательно?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 14:36
    #36312635
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Думаю как это проверить, но есть подозрение, что так оно и есть.
Приложение в принципе испоьзуется в монопользовательском режиме - поэтому вопросов не возникало по этому поводу...
...
Рейтинг: 0 / 0
16.11.2009, 14:45
    #36312663
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83
Думаю как это проверить

По быстрячку ваяется дрозофилка в которой в потоке в лог пишеться PID, время перед дерганием запроса, время после выполнения запроса, запускается с n потоками и смотрим лог.
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 14:53
    #36312690
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Эм... по-моему такой метод не прокатит...
начало выполнения запроса - это что? Открытие квери?
Так оно проходит моментально - в том-то и дело для всех потоков в одно время... А время завершения запроса - уже совсем другая история - оно как раз и показывает, что запросы выполняются последовательно - т.е. один выполняется позже второго ровно на время своего выполнения в сингле...
...
Рейтинг: 0 / 0
16.11.2009, 15:36
    #36312803
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83 wrote:

> там 2 двухядерных процессора стоит...
> Мож есть какие-то настройки сервера - шевельнуть, чтоб он начал параллелить?

Engine-ов сколько ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 15:37
    #36312805
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Ex_Soft wrote:

> По быстрячку ваяется дрозофилка в которой в потоке в лог пишеться PID,

Игорь, ты вот скажи, ты вообще для всего что угодно "дрозофилку" пишеш ?
А подумать просто не легче ?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 15:44
    #36312827
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Who is mr "Engine"?
number of engines at startup specifies the number of engines ASE brings online during the startup process. - если это он - то 1...
...
Рейтинг: 0 / 0
16.11.2009, 15:47
    #36312839
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Mikle83 wrote:

> number of engines at startup specifies the number of engines ASE brings
> online during the startup process. - если это он - то 1...

Ну так а что ж ты хочешь ? У тебя только один процессор занят ASE-вым
сервисом, вместо 4-рёх.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
16.11.2009, 16:02
    #36312885
Mikle83
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
Проставил следующие значения для параметров сервака:
Max Online Q Engines = 0
Max Online engines = 4
Number of engines at startup = 2

Результат не изменился, не подскажите, как корректно настроить, или где прочитать?
...
Рейтинг: 0 / 0
16.11.2009, 17:18
    #36313118
Ex_Soft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASE распараллеливание
MasterZiv
ты вообще для всего что угодно "дрозофилку" пишеш ?

Конечно - нЭт. Но если человек вроде и уверен, но, все же, сомневается, то как ему, кроме как экспериментальным путем показать?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE распараллеливание / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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