powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
25 сообщений из 270, страница 10 из 11
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429173
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть предложение по такой фиче. При реализации таймаутов, предусмотреть в конфиге настройку для них трех видов:
1. Отключить.
2. Включить с прерыванием.
3. Включить с логированием.

Первый пункт очевиден. Второй - при наступлении таймаута, сервер выполняет обычное действие (дропает коннект, завершает транзакцию и т.д.).
Третий пункт вот для чего. При его активации, сервер в случае таймаутов пишет в специальный файл лог об этом:
База данных;
Дата/время;
Пользователь;
Тип таймаута (коннект, транзакция, запрос);
Время старта;
Для запросов имеет смысл писать сам запрос, параметры и план.

Таким образом, администратор/разработчик может в любое время, прозрачно для пользователя, посмотреть, все ли нормально - были ли зависшие транзакции, долго выполняющие запросы и прочее. Можно даже добавить еще режим:
4. Включить с прерыванием и логированием.

Таким образом, убиваются несколько зайцев:
1. Диагностика проблем с долгими запросами.
2. Диагностика плохого управления транзакциями.
3. Прозрачность для любых клиентов. При использовании чужого ПО, можно видеть проблемы и сообщить о них разработчику.
4. Отсутствие необходимости логировать эти таймауты через приложение.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429178
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавлю - при третьем пункте, сервер не прерывает коннект/транзакцию/запрос, а оставляет как есть, уже не возвращаясь к нему. Только пишет в лог о сработке таймаута.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429183
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

по третьему пункту Влад сказал, что это задача трейса/аудита (долгие запросы там и сейчас можно отследить, коннекты и транзакции пока нет).
1 пункт очевиден. Скорее всего выключаться будет установкой времени таймаута в 0.
Если таймаут будет установлен прерывание будет всегда. А вот лог можно будет получить если есть настройка в аудите.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429206
Фотография CyberMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспо третьему пункту Влад сказал, что это задача трейса/аудита (долгие запросы там и сейчас можно отследить, коннекты и транзакции пока нет).
1 пункт очевиден. Скорее всего выключаться будет установкой времени таймаута в 0.
Если таймаут будет установлен прерывание будет всегда. А вот лог можно будет получить если есть настройка в аудите.
Я не хочу стрелять из пушки по воробьям. Я хочу настроить:
1. Для всех баз (в конфиге) таймаут для неподтвержденной пишущей транзакции - 5 минут с прерыванием и логом. Это для отлова забытых в IBE обработок или слишком уж долгих обработок БД.
2. Для указанной транзакции таймаут в 1 минуту с логом без прерывания. Это для отлова слишком долго выполняющихся отчетов. На крайний случай, можно будет приделать к каждому отчету его граничное время выполнения. Что сведет ложное срабатывание и проблемы с отчетами к нолю.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429222
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberMax,

я тоже примерно тоже самое сначала хотел. Потом после объяснений Влада подумал и согласился с ним.

Вместо таймаута с логом без прерывания предлагаю отдельный фильтр для трейса/аудита позволяющий поймать длительные неактивные коннекты/транзакции. Это кстати может быть сделано и в рамках 2.5, если конечно Влад не найдёт аргументов против этого.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429317
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladА не будет ли правильнее сбрасывать и снова ставить таймер после каждого фетча ?Вопрос как минимум интересный, у меня, например, на него нет однозначного ответа.
<хотелка ОН>Сделать оба и вывести рычаги управления в конфиг?</хотелка ОФФ>
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429577
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисВместо таймаута с логом без прерывания предлагаю отдельный фильтр для трейса/аудита позволяющий поймать длительные неактивные коннекты/транзакции. Это кстати может быть сделано и в рамках 2.5, если конечно Влад не найдёт аргументов против этого.1. Это в рамках 2.х можно смотреть и обрывать используя мониторинг.
2. В трейсе я предлагал писать события убиения запроса\тр-ции\коннекта по таймауту. Это не то же самое, что обнаружение простаивающих тр-ций\коннектов (или тормозящих запросов) по истечение некоторого таймаута.
И опять же, таковое обнаружение уже сейчас можно делать самостоятельно через мониторинг.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429581
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyhvladА не будет ли правильнее сбрасывать и снова ставить таймер после каждого фетча ?Вопрос как минимум интересный, у меня, например, на него нет однозначного ответа.
<хотелка ОН>Сделать оба и вывести рычаги управления в конфиг?</хотелка ОФФ>Очень не хочется добавлять это в конфиг. Я пока что склоняюсь к варианту переустановки таймера на каждом фетче (группе фетчей).
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429619
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladЯ пока что склоняюсь к варианту переустановки таймера на каждом фетче (группе фетчей).Я рассматриваю житейскую ситуацию, когда юзер ошибся в параметрах отображения/фильтра и вынуждает программу фетчить мильон-другой записей на клиента. образно вылез на своем тихоходной тракторе на хайвей и загородил несколько полос собой.Мне он такой нахрен не нужен, ошибку по таймауту ему в зубы, чтоб дорогу не загораживал.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429633
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Пони бегает по кругу..."
Ivan_Pisarevskyвылез на своем тихоходной тракторе на хайвей и загородил несколько
полос собой
Так значит хайвей надо расширять, отдельные полосы сужать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429635
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

сейчас в мониторинге можно узнать время начала транзакции и её состояние. А вот время с которого она начала простаивать нельзя. Если можно тогда как?
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429676
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениссейчас в мониторинге можно узнать время начала транзакции и её состояние. А вот время с которого она начала простаивать нельзя. Если можно тогда как?Согласен, напрямую никак. Только косвенно, по отсутствию активных запросов в этой тр-ции.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429681
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyhvladЯ пока что склоняюсь к варианту переустановки таймера на каждом фетче (группе фетчей).Я рассматриваю житейскую ситуацию, когда юзер ошибся в параметрах отображения/фильтра и вынуждает программу фетчить мильон-другой записей на клиента. образно вылез на своем тихоходной тракторе на хайвей и загородил несколько полос собой.Мне он такой нахрен не нужен, ошибку по таймауту ему в зубы, чтоб дорогу не загораживал.Ну так ты и на тех, кто в секунду 1000 мелких запросов выполняет, тоже запрет захочешь ставить...

Как по мне, "бороться" со слишком слабыми фильтрами\слишком большими резалтсетами должен не сервер, а прикладной разработчик. Возможно с помощью волшебного админского пенделя :)
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429693
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladСимонов Дениссейчас в мониторинге можно узнать время начала транзакции и её состояние. А вот время с которого она начала простаивать нельзя. Если можно тогда как?Согласен, напрямую никак. Только косвенно, по отсутствию активных запросов в этой тр-ции.

Косвенно мы узнаем лишь то что она не активна. А вот с какого времени неактивна...
Это важно. Просто когда транзакция неактивна 2 секунды, то и фиг с ней, а вот если полдня, то совсем другое дело.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429700
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТак значит хайвей надо расширять, отдельные полосы сужать.Дык рядом есть "проселок" (2 штуки), ползи сколь хошь. Тяжелая риодонли хрень методично выносится на зеркальный сервер на репликации. Легчает основному от этого весьма здорово.
hvladКак по мне, "бороться" со слишком слабыми фильтрами\слишком большими резалтсетами должен не сервер, а прикладной разработчик.Боремся, но заторы иногда все равно возникают, иногда. И превентивно боремся и разбором полетов.
hvladВозможно с помощью волшебного админского пенделя :)Вот его-то мы сейчас и обсуждаем! разве нет?
hvladНу так ты и на тех, кто в секунду 1000 мелких запросов выполняет, тоже запрет захочешь ставить...Дык это уже другой параметр, что знает, может и захочу.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38429760
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyВот его-то мы сейчас и обсуждаем! разве нет?
Нет, сейчас вы обсуждаете бомбу, которая разнесёт трактор к ЧМ вместо того, чтобы его с
хайвея аккуратно изъять и на просёлок пересадить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430064
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С кочки зрения сисадмина: кто тайм-аут выставил, тот и виноват, а разборки с тормозами приложения - прерогатива разработчика. Вне зависимости от того, что сам разработчик думает по этому поводу.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430133
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovего с хайвея аккуратно изъять и на просёлок пересадить.Изъять аккуратно можно только постфактум, когда пробка стала видна (например в логах трейса, в жалобах юзеров и т.п.). Да изъять именно "аккуратно", когда он уже выехал и все загородил нахрен, не уберешь или тупо ждать или взрывать.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430149
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyДа изъять именно "аккуратно", когда он уже выехал и все загородил
нахрен, не уберешь или тупо ждать или взрывать.
Отсюда поподробнее, пожалуйста: что именно он загородил? Read-латчи как и локи между собой
совместимы. Или этот запрос - DML?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430193
pastor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladpastorМеня интересует только гарантированное время получения отклика, хотя бы для переключения на резервный источник данных.
Сейчас приходится прибивать ВЕСЬ поток вместе с коннектом. А это очень грязное дело.Ну так есть же fb_cancel_operation.

pastorпропущено...
И куда же тогда податься бедному еврею?Для начала - в realtime OS :)

fb_cancel_operation. нужно вызывать из другого потока?

а туточки сразу - поставил 2 сек - выстрелил и забыл. через указанное время вернет или результат или отлуп.
это как Mutex.WaitFor( msec).

в управлении из другого потока есть беда - поток может таки выполнить команду, пока его приговаривают.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430480
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladИ опять же, таковое обнаружение уже сейчас можно делать самостоятельно через мониторинг.
Проблема мониторинга в том что его нужно постоянно опрашивать, а опрос мониторинга операция затратная. Вот если бы можно было к мониторингу прицепить триггер, тогда да! :)
С аудитом вижу основную проблему в сложности машинной обработки (текстовый вывод и отсутствие стандарта).
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430487
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex TruhinС аудитом вижу основную проблему в сложности машинной обработки
(текстовый вывод и отсутствие стандарта).
Именно поэтому аудит делается плагином. Напиши такой, который будет его выводить в
машиночитаемом формате.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430499
Alex Truhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
во первых насколько я знаю на этот плагин нет ни какой документации. Разбираться по исходникам FB как минимум не мой уровень снания C++.
во вторых я не говорил что мне это необходимо, в этой теме обсуждаем что бы хотелось.
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430504
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Truhinво первых насколько я знаю на этот плагин нет ни какой документации.

Парней из IBSurgeon это не остановило.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
    #38430505
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex Truhinо вторых я не говорил что мне это необходимо, в этой теме обсуждаем что
бы хотелось.
Хотеть что-то ненужное обычно называется "блажь".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 270, страница 10 из 11
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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