Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как всё же работают курсоры? Отчёт по и продолжение темы "ОН версионник или из-за чего .."
|
|||
|---|---|---|---|
|
#18+
Ну что ж, некоторые результаты есть. Не особенно радостные, но всё же. Итак, главную причину ожиданий вроде бы вычислил - это оказались хранимые данные. Вернее их очень малое количество. В базе присутствует некоторое число сущностей - рекламодатели, рекламные кампании, показываемые баннеры, а так же рекламоразмещатели, сайты, места под банеры. Для своих тестов джависты набили небольшое число этих сущностей. Банермест - 10 штук и баннеров 3 штуки. При показе банера происходит большое число действий-апдейтов - увеличиваются счётчики кол-ва показов у всех этих сущностей, перераспределяются деньги и пр. Когда я взялся за тесты на производительность базы, то данные я оставил те же. Систему начали нагружать и начиная с некоторой нагрузки - более 20 банеров\сек при 40 подсоединений к базе - начались тормоза, поскольку системе приходилось апдейтить одни и те же строки. При этом естественно были ожидания. Увеличив количество данных ожидания удалось убрать. Правда возникли дедлоки, но это уже другая история. Теперь о плохом. Почему ожидания были именно на селектах а не на апдейтах я так и не понял. Правда есть подозрение, что это не просто селекты, а селекты для апдейтов. Об этом как раз и говорил Sad Spirit. Проверив лог запросов я нашёл некоторое количество таких селектов. Запросов правда было мало (хотя кто его знает - может и они). Но тут возникает новый вопрос - откуда взялись эти запросы? Можно опять таки потыкать пальцами в JBoss, EJB и пр - дескать они виноваты. Но есть и другой вариант. Я не знаю механизма реализации курсора. Не блокирует ли часом курсор строк из которых собирался итоговые данные? Темы о курсорах я поднимал в этих топиках: Как получить количество строк, которые выбрал запрос в курсор? и Курсор не скролируется!!! - В продолжение курсорной эпопеи К сожалению, некоторые курсорные механизмы так и не заработали (MOVE, SCROLL CURSOR). И я боюсь, что я выбрал не очень эффективную реализацию алгоритмов. Мне дважды приходится открывать курсор (дедлоки отсюда?). Происходит всё это быстро, но что творится внутри сервера, не ясно. Итак, спасибо всем ответившим. И... Уважаемые коллеги, подскажите ваши методы работы с курсорами. Удавалось ли делать скролируемы курсоры. Покажите, пожалуста, примеры кода. Подскажите где можно почитать об реализации курсоров. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2004, 14:19 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32799691&tid=2007564]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 341ms |

| 0 / 0 |
