|
|
|
Приоритеты семафоров
|
|||
|---|---|---|---|
|
#18+
Есть пул подключений к БД, реализованный в вите стек + семафор. Некоторые запросы имеют более высокий приоритет, чем другие. Одни запросы должны выполнятся в течении определенного времени или не выполнятся вовсе, а другие должны выполнятся обязательно. Для приоритетных запросов я просто увеличил таймоут ожидания. Но при профилировании оказалось, что время ожидания тоже увеличивается. Т.е. время получения подключения потоком в течении работы увеличивается с 5мс до 700мс. При этом выполнение самих запросов не превышает 30мс, а время ожидания неприоритенных запросов (с маленьким таймоутом) остается без изменения. Может кто подскажет как еще можно реализовать приоритетную очередь запросов в пуле. Пока единственное что придумал, так это сделать несколько пулов для запросов с разным приоритетом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 17:17 |
|
||
|
Приоритеты семафоров
|
|||
|---|---|---|---|
|
#18+
Извините погаречился. Поэксперементировав выяснил, увеличивается только время ожидания, а время остального кода остается прежним и это не зависет от таймоута. Ожидание - 500мс, полезный код - <50мс. При этом в начале все работает хорошо. В общем вопрос остается прежним, или что делать с семафором или как обойтись без него(таймоут ожидания - необходим). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 19:29 |
|
||
|
Приоритеты семафоров
|
|||
|---|---|---|---|
|
#18+
Купи себе орфографический словарь. Потом задашь свой вопрос ещё раз проверяя каждое слово по словарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 20:41 |
|
||
|
Приоритеты семафоров
|
|||
|---|---|---|---|
|
#18+
Если я правильно понимаю вашу архитектуру, то возможно вам подойдет такой подход - вручную реализовать подобие семафоров, но использовать для этого не линейные очереди, а очередь с приоритетом (на основе heap/treap и т.п.). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2007, 22:07 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34765526&tid=2028274]: |
0ms |
get settings: |
5ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
177ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 440ms |

| 0 / 0 |
