|
|
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Маленькая ремарка, исключительно по железке. ТаблоидНу, и ?! 30 тыс страниц, по 4 Кб каждая, читаются 201 секунду. Это как объяснить-то ?30000/200 = 150 (операций ввода-вывода с диска, то бишь в простонародье "иопсов"). 150 иоспов типичная (даже немного оптимистичная) цифирь для одиночного САТА диска. Лично я не вижу ровно никакого противоречия, если база не "разогрета". ТаблоидЗЫ. А встроенная мерялка скорости чтения с диска показывает какую-то очень уж оптимистичную картину: Код: plaintext 1. 2. 3. Таблоидlshw показывает, что у нас в этом серваке установлен IBM ServeRAID M5015. Кто-нить в курсе, какие у него ТТХ ?Судя по редбуку ТТХ не самые тухлые, но больше сказать не могу, в руках не держал. Диски какие и сколько? Батарейка е? тип массива? Примени иометер, чтоб оценить что можно от железки ждать. размер задаешь примерно по размеру базы, кол-во воркеров по кол-ву коннектов к базе, размер блока по размеру странички БД и смотришь полученные чиселки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 16:06:08 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоид Код: plaintext В общем терзают меня смутные сумненья на предмет крутости дисковой ПС твоего сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 16:09:43 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Ivan_PisarevskyДиски какие и сколько? Батарейка е? тип массива?lshw в аттаче ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 16:10:34 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоидlshw в аттаче Маниак, блин. Нет там инфы о дисках. это надо смотреть в утиле управления контроллером, ОСь в принципе не знает о кол-ве дисков за аппартным контроллером рэйд. Судя по наличии файберного хба есть намек на то, что дисков всего пара, чтоб бутить сервер, а остальное должно браться с файберного сундука с дисками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 16:23:50 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Ivan_Pisarevskyэто надо смотреть в утиле управления контроллером, ОСь в принципе не знает о кол-ве дисков за аппартным контроллером рэйд.ладно, завтра спрошу у наших железячников (хотя с ними всегда трудно вести диалог, ибо невменяемые они у нас). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 17:04:35 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоидв этом серваке установлен IBM ServeRAID M5015. Кто-нить в курсе, какие у него ТТХ ? Красные книжки . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 17:20:09 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоид, По первый эксперимент: одна запись по ключу должна подписаться мигом. Может тормозит оптимизатор? Не пробовал форсануть этот один нещастный индекс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 17:20:40 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
MasterZivПо первый эксперимент: одна запись по ключу должна подписаться мигом. Может тормозит оптимизатор? что значит "подписаться"? ты читал первый же ответ 13451906 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 17:36:55 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
MasterZivодна запись по ключу должна подписаться мигом.Она и так мигом выхватывается, на собственно поиск в индексе уходит 6 фетчей. Выше уже выяснилось, что все беды от того, что при КАЖДОМ запросе, в котором упоминается большая таблица, ФБ будет искать ВСЕ её PP, коих в данном случае набралось почти 30 тыс и они, к тому же, размазаны по файлу, т.е. последовательной вычиткой тут не получится. MasterZivНе пробовал форсануть этот один нещастный индекс?Что значит "форсануть" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2012, 18:35:08 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Продолжу стартовый пост. ЭКСПЕРИМЕНТ 4. Дано: 1) локальная машина, время которой отстаёт от серверного на 0.343 сек 2) запущенный трейс, отслеживающий активность на этой базе. 3) база не "разогрета", т.е. её "фрагменты" в кеше операционки отсутствуют. Запускаю на локальной машине батник: Код: plaintext 1. 2. Код: plaintext Получаю при первом запуске этого скрипта: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Получаю при втором (вспомогательном) запуске этого скрипта: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Второй (вспомогательный) запуск - только для определения разности показаний часов раб. станции и сервера. Вывод времени сервера в isql в этом запуске был практически мгновенным. Это значит, что время установки коннекта было почти 0 и для определения разности показаний часов можно просто сравнить два значения: 23:39:52.72 и 23:39:53.06. Отставание часов рабочей станции получается примерно 0.34 сек. Теперь смотрим на время, которое было на рабочей станции при входе в батник в первом запуске: 23:39:03,39 - и на время, которое показал трейс в момент установки коннекта: 23:39:07.26 Если прибавить к 23:39:03,39 дельту 0.34", получим 23:39:03.73 - это время по часам сервера, которое было в момент первого запуска батника. Тогда время установки коннекта к этой базе составило: Код: plaintext Я не очень понимаю, что может делать ФБ в течение 3.5 сек при попытке установить коннект. Проверка пароля делается с использованием security2.fdb - это всё очень быстро, да и sec2.fdb на этом серваке всё время закеширована, там тесты идут. Даже если база `t1` не была в кеше, открытие файла на бездействующем серваке - операция также мгновенная. Метаданные при коннекте от isql вроде бы НЕ вычитываются. Что тогда занимает время ? PS. Вижу этот эффект регулярно - каждый раз после того, как память основательно будет "потрясена" другими тестами и от базы `t1` в кеше ничего не останется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 00:11:39 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоидкаждый раз после того, как память основательно будет "потрясена" другими тестами и от базы `t1` в кеше ничего не останется. Зато в нём куча прочего дерьма, которое надо куда-то сбросить, прежде чем туда сможет влезть хоть что-то от этой твоей базы. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 00:43:19 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоид, хотя тут не нужно вычитывать огромный объем PP на prepare, но всё же, что если сделать доп.пример и вовсе исключить обращение к таблицам в запросе времени. Например вместо Код: sql 1. примерно так дернуть Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 08:19:33 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
ТаблоидЯ не очень понимаю, что может делать ФБ в течение 3.5 сек при попытке установить коннект. Проверка пароля делается с использованием security2.fdb - это всё очень быстро, да и sec2.fdb на этом серваке всё время закеширована, там тесты идут . Даже если база `t1` не была в кеше, открытие файла на бездействующем серваке - операция также мгновенная. Метаданные при коннекте от isql вроде бы НЕ вычитываются. ты бы определился, что-ли ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:12:13 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
arniпримерно так дернутья попробовал это, только предварительно вырубил использование кеша FS: поставил FileSystemCacheThreshold = 0 и рестартовал ФБ. Результат 10 запусков: Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. PS. я затем еще раз перегрузил ФБ и заметил: первый с момента рестарта коннект идёт дольше остальных (примерно на 1-2 секунды). Чем это объяснить при FileSystemCacheThreshold = 0 - не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:40:48 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
dimitrты бы определился, что-ли"там тесты идут" - это значит, что ИМЕЮТ ОБЫКНОВЕНИЕ быть запущенными То есть, я стартовал там утром / днём известный тебе idx_under_load_test, по нескольку раз, а затем остановил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 09:42:58 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
dimitrТаблоидЯ так понимаю, пока ФБ делает откаты изменений, произведённых этими окнами, "светлые образы" их коннектов всё равно торчат в mon$ attachments . естественно. Во-первых, о ткат изменений прерывать не всегда можно , это чреватоЧто-то сильно затормозил я тогда с встречным вопросом. Если откат изменений иногда "чреват", то как же тогда быть с gfix -shut full -force 0 ? Ведь этой команде чихать на откаты изменений, она просто останавливает базу, не дожидаясь завершения откатов. Да, я знаю, что валидация затем покажет тучу нестрашных orphan pages, а для индексов - такую же тучу нестрашных "Index N is corrupt on page X level Y at offset Z...., validation.cpp, line: 2050 или 2060" (насчет нестрашности последних - см тут ). По такой логике, после каждого шатдауна базы на работавших коннектах требуется b/r делать (ввиду "чреватости" незавершенных откатов) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 15:38:55 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоид Ведь этой команде чихать на откаты изменений, она просто останавливает базу, не дожидаясь завершения откатов. Да, я знаю, что валидация затем покажет тучу нестрашных orphan pages, шо-шо??? shut force отрубает коннекты, и им делается rollback. никаких orphan pages при этом быть не может. orphan pages образуются тольки при срубании коннекта, который пилил базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 18:00:15 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоид, при шатдауне все откаты штатные и полноценные, не надо наводить панику на пустом месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 18:13:56 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
kdvпри срубании коннекта, который пилил базу. мнэ, при срубании сервака (или процесса классика). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2012, 21:09:12 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
dimitrпри шатдауне все откаты штатные и полноценные, не надо наводить панику на пустом местеПри gfix -shut full -force 0 -- да, отрубает ОК и делает откаты (вижу в трейсе). А теперь попробуем останавливать базу и службу ФБ (у мну её имя = "fb25_3050") вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Тест: окно #1 // Запускаем трейс окно #2 // в нём будет введён батник, показанный выше окно #3 // создаём новую базу, делаем к ней коннект via TCP и напихиваем 2 млн строк: Код: 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. окно #2 Код: plaintext 1. 2. 3. 4. 5. 6. окно #1 Трейс в "хвосте" своего лога будет иметь текст без каких-либо упоминаний о ROLLBACK'e: Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. окно #3 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. окно #1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. В аттаче - firebird.log после проведения валидации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 09:05:41 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
PS. И это еще не всё. Оказывается, если ФБ-службу не останавливать, а всего лишь зашатдаунить базу: Код: plaintext 1) база получит атрибут `full shutdown` (gstat -h выведет его); 2) коннект, который в это время что-то там писал в эту базу, ... будет спокойно продолжать туда дописывать! И более того, если он не выполнит детач, то и дальше сможет трудиться "на благо родины": делать commit'ы, запускать новые DML / DDL... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 09:10:40 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 09:20:25 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
dimitr а мужики-то и не знали... я видел этот тикет, однако ночером уже не было сил его искать :/ ну, а что про orphan'ы, когда служба ФБ останавливается после лже-шатдауна, недовыполнив откаты, - это бага или нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 09:49:22 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
Таблоид, когда останавливается служба, ядру дается 10 сек на "чистый" откат. Если он не успел, то селяви - тогда будут орфаны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 10:08:25 |
|
||
|
Его Величество Миллиард (эксперименты с таблицей в 10E9 строк)
|
|||
|---|---|---|---|
|
#18+
авторМожет быть натурал и не заложен, но порядок соединения и используемые индексы однозначно оценивает через умножение кардинальности на селективность. Ага, надо только правильно запрос, то бишь... как его... вопрос, во, вопрос сформулировать, что бы при оценке оптимизатора кардинально поменялся индекс were-предиктора, иначе заточка будет другая и лаги только возрастут. При этом на селективность можно не обращать внимания, она всегда нулевая. Ок, да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2012, 23:20:40 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38033693&tid=1564260]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
211ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 533ms |

| 0 / 0 |
