|
|
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
hi all. Вот есть такой скриптик, заполняющий несколько маленьких табличек: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Код: sql 1. 2. 3. 4. 5. Но вот гляжу я на isql-окошко, и вижу, что данные там появляются "пачками" примерно по 8 Кб (логирование времени вывода строк с помощью supertee показывает это наглядно): Код: plaintext 1. 2. 3. 4. Но! Через некоторое время вывод в isql заткнулся на 10 минут. После чего он выплюнул сразу ~40 Кб строк за один присест (см аттач). Возможно, что на самом деле это было 5 пакетов по 8192 байта, не знаю. Но выглядит всё как-то странно. Это чем/как отрегулировать можно, чтобы suspend строки приводил к немедленному её посылу клиенту ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 21:28:16 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
select for update Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 21:30:50 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovselect for updateне понял я чё-то... в вышеприведенном скрипте - что именно "селект фор апдейт" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 21:35:13 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Твою процедуру. For update отключает буферизацию результата. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 21:37:18 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovТвою процедуру. For update отключает буферизацию результата.там execute block; ты предлагаешь затолкать его содержимое в отдельную ХП и выполнить селект из неё - правильно я понимаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 21:40:50 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovFor update отключает буферизацию результата.Помогло, спс. Затыки теперь обусловлены только работой записи в базу (т.е. время выдачи строки на консоль совпадает до +/- 1 сек со временем, которое включено в строку возврата из процедуры). Хотя fw = OFF - т.е. ФБ вроде бы не должен ждать ответа "записано". iostat -t -d 2 -m sda4 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2014, 23:57:00 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
"Забавно", но когда в базу таким вот макаром пишут два isql'я и возникает очередной затык, то невозможно запросить мониторинг: он тоже висит в раздумье. В одну из таких "музыкальных пауз", длившихся несколько минут, были сделаны снимки бактрассы процесса ФБ и лок-таблицы базы (повторялись с интервалом 10 сек, пока "не попустило"). 2 dimitr: выслал тебе в мыло, если не трудно - погляди, плз. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 00:21:14 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, во всех дампах вижу параллельный сброс кеша на диск в результате коммита автономной транзакции в обоих isql-ях. А мониторинг ждет окончания этого безобразия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 07:30:00 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоид, во всех дампах вижу параллельный сброс кеша на диск в результате коммита автономной транзакции в обоих isql-ях. А мониторинг ждет окончания этого безобразия.в автономной транзакции всего 1 инсерт: Код: sql 1. 2. 3. Значения maxunflushed у меня в конфиге не менялись: Код: plaintext 1. 2. 3. - но для non-win32 платформы про эти параметры говорится, что они = "-1 (Disabled)". Что это означает ("Disabled") - линух сам решает, когда сбрасывать кеш ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 08:46:41 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
ЗЫ. я правильно понимать, что если выкинуть вообще из скрипта автономную транзакцию и довольствоваться только выводом msg по саспенду, то всё должно идти гораздо быстрее ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 08:54:49 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, да, система сама решает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 08:55:39 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
dimitrда, система сама решаета еще вопрос: если 300 коннектов намолотили DML, так что writes стало >> 100, но не коммитят их, а 301-й коннект взял да и выполнил холостой commit - что тогда, будет ли ФБ выдавать команду операционке записать на диск изменения этих 300 коннектов ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 12:25:15 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Таблоид, не будет, насколько я помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 12:44:08 |
|
||
|
Отсылка буфера строк клиенту: время от suspend до показа в окне isql = 10 минут. Why ?
|
|||
|---|---|---|---|
|
#18+
Автономок нет, а затыки всё равно идут Например, вот, трёхминутный период "молчания": Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. При этом top для процессов, которые (как мне показалось) отвечают за IO, показывает практически одно и тоже: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Утешает пока одно: надо дождаться "2'000'000 rows in tmain", после чего можно будет посмотреть в базу и вытащить из лога "пиковые флуктуации" длительности записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2014, 13:57:09 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38520360&tid=1564001]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
300ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
3ms |
| others: | 219ms |
| total: | 635ms |

| 0 / 0 |
