|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovХотеть что-то ненужное обычно называется "блажь". Гвозди довольно неплохо заколачиваются булыжником, а гантелей так вообще... Но не думаю, что при этом хотеть иметь в хозяйстве, хороший молоток - "блажь". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 00:15 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПарней из IBSurgeon это не остановило. кстати, и правда, а то я про этот плагин забыл. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 00:45 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
kdv, а что за плагин? Платный? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 05:35 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Alex Truhinkdv, а что за плагин? Платный? 13160039 Плагин может выводить результат тремя вариантами: - в файл текстовый, как стандартный - в файлы структурные, которые затем можно подключить к FB как EXTERNAL TABLE - в базу FB, подгрузив fbclient (или fbembed) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 08:45 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Это так для того кто та таймауты начнет писать. Я прислушался к Вам и переделал все на короткие пишущие транзакции, ну я так думал, что все короткие будут. Смотрел на этот топик как вы тут таймауты обсуждаете. И тут позвонил клиент. Он сказал, что мол запустили функцию на открытие документов для изменений и начался коллапс в фирме "Deadlock" то там то там. Я сразу сообразил в чем дело и побежал смотреть. В некоторых случаях не возможно вообще оказывается предположить сколько будет длиться транзакция. Пришлось переписать это место так Код: sql 1. 2. 3. 4.
И то по моим подсчетам 02:43:00 будут открываться 1 160 000 документов. У меня попутный вопрос 118 транзакций в секунду это нормально? Вот статистика на 1 операцию Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 13:56 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Евгений БолтикУ меня попутный вопрос 118 транзакций в секунду это нормально? на SSD получили 190 транзакций в секунду ... |
|||
:
Нравится:
Не нравится:
|
|||
17.10.2013, 14:11 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
К сож-ю, не мог сразу подключиться к этой беседе, но пока топег не утонул, добавлю сюда свои 5 коп. *. First of all. Для любого стейтмента должна быть возможность ограничить объем мусора, который он должен собирать. "Единицей измерения" в этом лимите должно быть всё таки время , потраченное на сборку мусора, а не число мусорных версий. До тех пор, пока этого не будет, один и тот же запрос на одних и тех же данных будет "нерегулярно обламываться" по таймауту, если ему пришлось после кого-то делать GC. * При запуске user-трейса должна быть какая-то возможность указать движку, продолжать ли отслеживать таймауты. Потому что трейс грузит движок! и могут быть срубания вовсе не от того, что запрос тупой, а потому что трейс запущен и повлияло именно это . * При старте системного GC отсчет таймаутов должен приостанавливаться. Не у всех GC запланирован на ночер или время минимальной активности, есть системы с круглосуточной работой. Этот GC - он тоже "небесплатен", насколько я могу понять * При получении аттачем запроса заполнить mon$-таблицы - тоже самое, время таймаута для него должно быть увеличено на то число сек/минут, что он потратил на удовлетворение любопытного админа; * Отсчет времени должен вести сервер. На клиенте системное время может глючить (глюки BIOS'a, отсутствие регулярной синхронизации времени в процессе работы и проч). Кроме того, когда прога сильно задумывается, юзер может переключиться в какую-нить полноэкранную игру и тогда что там будет со временем на рабочей станции - вообще неизвестно. * Таймаутов должно быть несколько: ** на время выполнения отдельного стейтмента (отслежка - с момента его начала, а не момента фетча 105001-ой записи); ** на время отсутствия стейтментов в транзакции, если она имеет TIL <> (RO | RC). При наступлении таймаута в RW-транзакции, если она ничего не меняла, делать COMMIT вместо rollback'a; * Неактивная транзакция, если её номер > OAT, не должна завершаться по таймауту; * Таймаут ставить надо только в databases.conf, по разным базам - разный. * Должна быть возможность "замораживания" таймаутов на ночное время. Если предприятие НЕ работает с 21 вечера до 9 утра, то всякие тугодумные отчеты, стартующие из-под крона, или просто запущенные усерами в 20 ч, должны спокойно доработать до утра. Их нельзя срубать. А вот днём - извините, но "ну вас нахрен, ждите вечера". * Разработчик прикладухи НЕ должен иметь никакого способа влиять на таймаут. Никаких "хинтов", параметров в dpb\tpb\etc и проч. Этот гад разраб наваяет и свалит, а админу затем разгребать. А если еще и исходников нет, то вообще веселуха будет. К тому же, для тиражируемых продуктов очевидно, что железо будет разное и никто вообще не скажет, какой конкретно нужен таймаут там или сям. * Очень правильным считаю предложение CybarMax'a: дать возможность разной реакции на срабатывание таймаута: а) оборвать с логированием; б) только залогировать этот факт; в) добавил бы еще и полное отсутствие логирования, но этот вариант объявить "опасным" или "вредным" и т.п. * Админ должен иметь возможность указать в databases.conf в виде списка (как в конфиге трейса имена алиасов или баз): ** имена приложений, на которые таймауты НЕ распространяются. Тогда все остальные приложения будут подпадать под действие таймаутов; ** имена только тех приложений, на которые следует распространять таймауты. Тогда на все остальные приложения под действие таймаутов не подпадут; И еще, хотя и 0xFF: помимо таймаутов, было бы классно иметь что-то типа квот на max число фетчей. Админ, зная данные и то, какие запросы к ним идут, всегда сможет внятно сказать: "в моей системе любой запрос, выполняющийся за 1 сек, но делающий более NNN млн фетчей - всё равно является дерьмом" :-). И такие запросы лучше узнать в лицо, хотя бы и однократно включив отсечку их. PS. ("вновь закинул старик свой невод") 2 dimitr : дай пинка Кальтенбруннеру, плз. НЕ работает нормально его similar to с текстами среднего размера (>=1Mb) - и тупит, да и не реагирует на команду обруба через mon$. Я сигналил в трекере, и не единожды, да всё бестолку. К чему это я, спросите ? А к тому, что пока в приложении есть стейтменты, содержащие SIMILAR TO и обрабатывающие большие тексты, вся эта затея с таймаутами будет не сильно эффективной. Надо сначала научить SIMILAR'ы хотя бы изредка "выглядывать" во внешний мир во время своей работы. Ффух... пока вроде бы всё... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2013, 19:59 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Таблоид* Отсчет времени должен вести сервер. На клиенте системное время может глючить (глюки BIOS'a, отсутствие регулярной синхронизации времени в процессе работы и проч). Кроме того, когда прога сильно задумывается, юзер может переключиться в какую-нить полноэкранную игру и тогда что там будет со временем на рабочей станции - вообще неизвестноЭто не аргумент: тайм-ауты - дельта. Небольшая. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 15:50 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Basil A. SidorovЭто не аргумент: тайм-ауты - дельта. Небольшая.какая именно "небольшая" ? ты уже промерял ? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 16:18 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
ТаблоидBasil A. SidorovЭто не аргумент: тайм-ауты - дельта. Небольшая.какая именно "небольшая" ? ты уже промерял ?Четыре миллиарда тиков это несколько более сорока суток. Какая точность устроит лично вас на таких интервалах? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 16:46 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Basil A. SidorovТаблоидпропущено... какая именно "небольшая" ? ты уже промерял ?Четыре миллиарда тиков это несколько более сорока суток. Какая точность устроит лично вас на таких интервалах?А причём тут сутки с миллиардами тиков ? Достаточно, чтобы время на раб. станции отстало от времени сервера на 3-5 сек - и всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 16:47 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
ТаблоидА причём тут сутки с миллиардами тиков ? Достаточно, чтобы время на раб. станции отстало от времени сервера на 3-5 сек - и всё.Ещё раз - тайм-аут это дельта , даже если оно делается на системном времени. Но, обычно, таймеры работают на таймерах. У которых есть длительность, но нет времени суток. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2013, 16:52 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvlad, И чем все кончилось к 2016му году ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2016, 18:29 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Mikhail Tchervonenkohvlad, И чем все кончилось к 2016му году ?Всё только начинается :) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2016, 12:49 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Народ, просмотрел 11 страниц, не нашёл то, что нужно. Есть ли в FB3 параметр "время разрыва неактивного коннекта"? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 10:31 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
KreatorXXI, пока нет, будет в ФБ 4 (типа того). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 10:35 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
kdv, Правильно понимаю, что и по умолчанию ничего нет, коннект висит вечно? Пока админ руками не отключит? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 11:20 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
KreatorXXIkdv, Правильно понимаю, что и по умолчанию ничего нет, коннект висит вечно? Пока админ руками не отключит? Есть таймаут неактивности для ТСР, зависит от настроек ОС. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 11:45 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
kdvбудет в ФБ 4 (типа того). Лично я очень сильно надеюсь, что не будет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 13:31 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
KreatorXXI, если коннект жив - да. Используется keepalive, при котором ОС при неактивности в коннекте его пинает сама, и если он на какой-то стороне умер, отрубает. Не умер - не отрубает. Если коннект сам помер - другой стороне об этом сообщается, она соединение закрывает. А серверу, сейчас, совершенно по барабану, делает что-то коннект, или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2016, 13:33 |
|
|
start [/forum/topic.php?fid=40&msg=38431253&tid=1561806]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 153ms |
0 / 0 |