|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvladТ.е. на что ты вообще отвечаешь ? Ты против любых таймаутов ? Фразу, на которую я отвечаю, я всегда цитирую. Это как бы основы нетикета. И таки да, я против любых таймаутов, предлагающихся в процитированном сообщении. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:14 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvladDarkMasterНеоднозначно. Т.е. я как разработчик должен закладываться на какие-то среднепотолочные значения таймаутов "чтобы наверняка успеть", отдавать заказчику и молится, чтобы через Н-е время меня не начали задалбывать вопросами "а почему это наш супер пупер важный отчет не ушел на мыло директору?".Всё однозначно, ты просто не даёшь себе подумать. 1. Отключай таймаут для своего проложения\БД, если ты не умеешь его готовить. 2. Для конкретного запроса выставляй заведомо большое значение таймаута. 3. Всегда все роботы обязаны реагировать на любые ошибки (кроме внезапного саморазрушения :) ) Та не, я не то, чтобы против, я - за взвешенное решение... А выставление заведомо большего значения - суть вещь импирическая и (иногда!) труднопрогнозируемая, ибо зависит от... P.S. Мои-то роботы реагируют ;) Они даже друг за дружкой следят ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:15 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvlad, ИХМО отсчёт таймера должен вестись от начала транзакции и не зависеть от того сколько там фетчей сделано. Единственное, что наверное для readonly RC транзакций его вообще не применять. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:18 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovФразу, на которую я отвечаю, я всегда цитируюЦитируй так, что бы было понятно, что же ты цитируешь. "Это как бы основы нетикета" (c) Dimitry SibiryakovИ таки да, я против любых таймаутов, предлагающихся в процитированном сообщении.Без аргументации лучше воздержись от дальнейшего участия в этой ветке. Вот такая просьба. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:23 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvladЕсс-но, самый первый раз таймер взводится в момент начала выполения запроса. Ты может таки начнёшь хоть чуть-чуть думать, перед тем как писать ? Гм... Я не могу со 100% уверенностью указать длину таймаута. Что непонятно-то? Все остальное - так, возможные сопутствующие проблемы. P.S. А может завести отдельный процесс таймера, который бы что-то там обновлял в контекстных переменных? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:25 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Симонов Денисотсчёт таймера должен вестись от начала транзакции и не зависеть от того сколько там фетчей сделаноА давай подумаем немного: вот есть запрос, возвращающий резалтсет. Вот его жизненный цикл: 1. execute 2. fetch ... N. fetch Ты предлагаешь ставить таймер в момент (1) и, например, если 10 записей было успешно сфетчено, а 11-я не успела, то обламывать такой запрос. Так ? А не будет ли правильнее сбрасывать и снова ставить таймер после каждого фетча ? Представь себе запрос, который выдаёт по 1-ой записи в секунду (может сетка медленная, а может записи трудно вычисляются). И ты предлагаешь его остановить после X записей, при таймауте в X секунд ? Даже если он вполне себе может выдать все 10X записей в том же темпе ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:28 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
DarkMaster, это уже другая задача. Исполнение скриптов по встроенному таймеру. Хотя задачу отстрела и можно подвести под неё, но пока это вроде не планируется. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:29 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvlad, вопрос конечно интересный. Т.е. ты как альтернативу предлагаешь вести отсчёт от последнего фетча. Тогда уж и в случаем набора модифицирующих запросов отсчёт надо вести от последнего активного запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:33 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvlad, Таблоида на вас нету с его 100500 одновременно запущенными окнами и с тяжелыми запросами ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:35 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
DarkMaster, а вот его тоже ждём в этой ветке. Он сейчас 100500 примеров придумает в обосновании того когда это нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:36 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvladБез аргументации лучше воздержись от дальнейшего участия в этой ветке. Ну, моя проскопия для тебя, может, и не аргумент, но лично я привык на неё полагаться. Предложенные тобой таймауты это лечение симптомов, не проблем. При их применении будут игнорироваться баги в приложениях, которые иначе были бы пофикшены. Таймаут для выполняющегося запроса? Ага, это же гораздо проще чем ускорять выполнение запроса. Таймаут для неактивной транзакции? Ага, это ведь гораздо проще чем устранить негативное влияние этой транзакции. Таймаут неактивного коннекта? Ага, наплевать, что этот коннект ждёт событий из базы или откуда-то снаружи. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:40 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, это всё в идеальном мире. На практике как раз бывает всё это очень нужным. Разработчик может пользоваться какой-нибудь CRM системой, где ему не доступен её исходный код, а есть только возможность делать настройки из весьма ограниченного набора. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:46 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvladА не будет ли правильнее сбрасывать и снова ставить таймер после каждого фетча ? Если я допущу алгоритмический или еще какой косяк в примерно таком коде: Код: plsql 1. 2. 3. 4. 5. 6.
и таки решу использовать таймауты (мы же все на 100% непогрешимы ;) - то причину отлета по таймауту фиг быстро найду... Такой подводный камень имеет место быть, или я опять "не умею готовить"? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:52 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
DarkMaster, На вечный цикл внимание можно не обращать ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 13:54 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Симонов Денис, Ну вообще-то если мы не говорим о CRM-системах - нам вообще-то пофигу, что отчет генерится 12 минут вместо 10. Тут более приоритетным является именно факт генерации отчета. А вот если отчет перестает генерироваться из-за того, что где-то кто-то ошибся со временем - это упс. Т.е. я в принципе не должнен заморачиваться, что если мой запрос нормально переваривает 10 млн. записей - он когда-то может отказаться переварить 30 млн, так как у него может просто не хватить времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:02 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
DarkMaster, если разработчик/админ имеет такие запросы/ХП и выставил таймаут - то он ССЗБ. По умолчанию вроде как таймауты будут выставлены в 0 (т.е. работать не будут). Кроме того, при отстреле по таймауту клиенту можно кинуть ошибку "Ваша транзакция была откачена, поскольку был превышен таймаут 10 секунд". ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:03 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Симонов Денисэто всё в идеальном мире. А на практике вместо того, чтобы дерьмо вычищать, его надо просто засунуть под ковёр, да... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:03 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
DarkMaster, ну и что. Поймает твой робот такую ошибку (выше указано), которую залогирует. Будет повод админу разобраться с неправильным значением таймаута или запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:05 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, я же сказал, что откат не должен быть молчаливым. Тогда будет повод исправить ошибки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:06 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovбыли бы пофикшеныС чего бы это ? PS я пользую твой способ цитирования, правда хорошо получилось ? Вот только не дождался, пока цитируемое на пару страниц назад уйдёт. Ничё, в следующий раз... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:09 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Симонов Денис, Ага, конечно. Сейчас наблюдаем кучку поделок на ФБ, которые вытворяют бог знает что (в соседний форум по Дельфям иногда страшно заглядывать). Потом народ начнет активно пихать таймауты в свои произведения (как здорово - у меня любая транзакция живет не более 10 секунд). А потом админы сидят и не могут понять, почему это "ваша транзакция была откачена", если ПО отработало уже Н-е время без нареканий. И хто виноват? Данные? Сетка? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:09 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
А еще есть, хоть и немного, хостеров предоставляющих хостинг для файрберда, им тоже нужны вменяемые рычаги для ограничение нагрузки на железку/виртуалку. Если я работаю на своем сервере, то для меня имеют приоритет настройки, которые я передал серверу как разработчик, потом уже конфиги от админа/ДБА. А вот если я хостер, то у меня есть ненулевой интерес прижать хвосты арендаторам, чтоб не расслаблялись. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:11 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
Симонов ДенисDarkMaster, ну и что. Поймает твой робот такую ошибку (выше указано), которую залогирует. Будет повод админу разобраться с неправильным значением таймаута или запросом. Денис - это в идеальном мире (с) Доступа к исходникам может не быть или быть набор очень ограниченных параметров ;) Ничего, что я тебя процитировал? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:12 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
DarkMaster, и чего? Кто тебе помещает в конфиге отключить/увеличить таймаут. Туда то у тебя доступ есть. Хотя согласен с приоритетом вопрос неоднозначен. Думаю там придётся ещё вводить параметр разрешить ли приложениям переопределять параметры таймаутов выставленных на БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:17 |
|
MON$STATEMENTS почему NULL-ы (Обсуждаем серверные таймауты)
|
|||
---|---|---|---|
#18+
hvladС чего бы это ? С того, что у кривой софтины вообще-то есть два пути: быть пофикшенной или перестать использоваться. Но эти таймауты, которые (вследствие того, что Firebird не является системой реального времени) будут вылазить в самых непредсказуемых местах (и ещё не дай бог с невнятной ошибкой "timeout happened", как вы это любите) затруднят продвижение софтины по жизненному циклу. Она будет глючить слишком непонятно для того чтобы её пофиксили и не слишком часто для того чтобы выбросили. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 14:18 |
|
|
start [/forum/topic.php?fid=40&msg=38426603&tid=1561806]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
others: | 18ms |
total: | 179ms |
0 / 0 |