Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Приоритеты семафоров / 5 сообщений из 5, страница 1 из 1
30.08.2007, 17:17:44
    #34765526
moteus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приоритеты семафоров
Есть пул подключений к БД, реализованный в вите стек + семафор.
Некоторые запросы имеют более высокий приоритет, чем другие. Одни запросы должны выполнятся в течении определенного времени или не выполнятся вовсе, а другие должны выполнятся обязательно. Для приоритетных запросов я просто увеличил таймоут ожидания.
Но при профилировании оказалось, что время ожидания тоже увеличивается.
Т.е. время получения подключения потоком в течении работы увеличивается с 5мс до 700мс.
При этом выполнение самих запросов не превышает 30мс, а время ожидания неприоритенных запросов (с маленьким таймоутом) остается без изменения.
Может кто подскажет как еще можно реализовать приоритетную очередь запросов в пуле.
Пока единственное что придумал, так это сделать несколько пулов для запросов с разным приоритетом.
...
Рейтинг: 0 / 0
30.08.2007, 19:29:20
    #34765971
moteus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приоритеты семафоров
Извините погаречился.
Поэксперементировав выяснил, увеличивается только время ожидания, а время остального кода остается прежним и это не зависет от таймоута. Ожидание - 500мс, полезный код - <50мс.
При этом в начале все работает хорошо.
В общем вопрос остается прежним, или что делать с семафором или как обойтись без него(таймоут ожидания - необходим).
...
Рейтинг: 0 / 0
30.08.2007, 20:41:19
    #34766078
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приоритеты семафоров
Купи себе орфографический словарь. Потом задашь свой вопрос ещё раз проверяя каждое слово по словарю.
...
Рейтинг: 0 / 0
30.08.2007, 22:07:02
    #34766153
teras
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приоритеты семафоров
Если я правильно понимаю вашу архитектуру, то возможно вам подойдет такой подход - вручную реализовать подобие семафоров, но использовать для этого не линейные очереди, а очередь с приоритетом (на основе heap/treap и т.п.).
...
Рейтинг: 0 / 0
31.08.2007, 20:05:02
    #34769259
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Приоритеты семафоров
Используй MRU-стек
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Приоритеты семафоров / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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