|
|
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
dimitrДля свежесозданной базы без данных у тебя такое же безобразие выдается?Да, всё то же самое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 11:54:38 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
PS. Еще раз напомню, что вижу это на: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 11:55:47 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидPS. Еще раз напомню, что вижу это на иди спать лучше, а потом тестируй. У тебя 4 гига на 3.0 вылазило, а ты мне 2.5 пихаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 12:01:52 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Не, я уже проснулся, теперь "маховик не остановить" :-) Вот для пустышки в WI-T3.0.0.30567: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 12:08:12 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
У меня тоже для тройки в таблице mon$memory_usage Код: plaintext 1. 2. 3. 4. 5. Правда там база не пустая. Но кроме собственно запроса select * from mon$memory_usage я ничего не выполнял. БД была наполнена так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 12:20:53 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
На самом деле я немного ошибся. Если только подключиться и сделать запрос к таблице мониторинга то всё норм. а вот если сделать второй коннект, то статистика омается. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Теперь подключимся вторым isql Код: plaintext 1. 2. 3. Снова переходим в первый и вот Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 12:38:17 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
теперь вижу, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 13:05:55 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
исправлено ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 13:40:55 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид Кажется , есть хорошая новость. А может, и нет её вовсе, если это снова апельсины vs огурцы :-)Нет, уже почти не кажется. Почти точно - она есть, эта хорошая новость :-) Ибо сейчас два ФБ в одной арх-ре (SS), на одной windows-машине, с одинаковым кешем баз - и вижу, что ФБ-3 явно выигрывает у 2.5 в выборках из вот этого теста трёхлетней давности: " INDEX scan vs NATURAL в случае плохой селект-сти: INDEX всегда лучше ?! ". DDL тот же, что в в первом посте этого теста. Подключение делал по ТСР. Запустил isql в 2.5, запустил трейс к нему. Выполнил 5 раз вот этот скрипт: Код: sql 1. 2. // 36681AD7-F44E-4E07-6AB1-96CF144A2082 = значение, записанное в 98% всех 10 млн записей таблицы Повторил затем то же самое для 3.0. Данные трейсов по 5 запускам в ФБ 2.5 vs 3.0:Firebird releaseQuery plan (NB: в таблице 98% строк - с одинаковым значением)timereadsfetches Firebird 2.5PLAN (TMPMEASURE NATURAL)486162129192042575548525212987479644823548376 Firebird 2.5PLAN (TMPMEASURE INDEX (IDX_TMPMSR_NAME))441532253851961239943870453284437143872timereadsfetches Firebird 3.0PLAN (TMPMEASURE NATURAL)197622129292027806218707182101840918248 Firebird 3.0PLAN (TMPMEASURE INDEX (IDX_TMPMSR_NAME))162192253411938705816193163791601116103 Повторил затем всё по-новой, опять делал по 5 запусков на двух ФБ - статистика подтвержилась. 18 сек против 45 - слишком серьёзное расхождение, чтобы его игнорировать. Это что-то новое в алгоритмах доступа к данным "сработало" ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 17:01:41 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
навскидку, методы доступа тут не причем. Надо будет отпрофилировать на досуге :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 17:22:01 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
dimitrнавскидку, методы доступа тут не причем. Надо будет отпрофилировать на досуге :-)есть ощущение, что часть данных застревала в файловом кеше, а вытеснялась оттудова в 2.5 быстрее, чем в 3.0. Звучит маразматично, но вот что получилось в результате выполнения скрипта: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 18:22:06 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид, статистику reads и fetches добавь, плс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 19:05:07 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТаблоид, статистику reads и fetches добавь, плсВот (пустые ячейки означают повтор последнего значения, расположенного в этом столбце выше данной строки):FB versionQuery plantimereadsfetchesWI-V2.5.3.26682PLAN (TMPMEASURE NATURAL)1556121291920425755160112129873927548386484914853248519480994806348284WI-V2.5.3.26682PLAN (TMPMEASURE INDEX (IDX_TMPMSR_NAME))4402922538519612399439674377943977440034370343986439544416943803timeWI-T3.0.0.30567PLAN (TMPMEASURE NATURAL)186982129292027806220102202128391834018730184731879818370186891847218623WI-T3.0.0.30567PLAN (TMPMEASURE INDEX (IDX_TMPMSR_NAME))1573022534119387058162021576116020198684947849730498544983049813 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 20:27:16 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Что-то странность вижу: хрестоматийный подсчет числа счастливых билетов (вариант с обращениями к rdb$database) на 2.5 идёт быстрее, чем на 3.0 :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. FB 2.5: 3.8" Код: 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. FB 3.0: ~4.4" Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 22:17:44 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид, я же говорил уже, что работа с кешем в 3-ке чуть медленнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 22:24:12 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladя же говорил уже, что работа с кешем в 3-ке чуть медленнееДа, я помню. Повторил тест, но уже по условию равенства сумм четырех цифр, а не трёх (т.е. джойн 8 таблиц вместо 6). Отличие примерно 16% - многовато, КМК. Вот результат для ФБ 3.0 : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. А вот для 2.5 : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 22:35:46 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladработа с кешем в 3-ке чуть медленнееВлад, а только ли с кешем ? Вот, смотри: я намеренно добавил в запрос lucky.sql "ошибку чайника": заменил 'union all' на "просто union": Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. И теперь получаю разницу в 2 раза, и не пользу ФБ-3 FB 3.0: Код: plaintext 1. 2. 3. 4. 5. 6. 7. FB 2.5: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 22:48:49 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидИ теперь получаю разницу в 2 разаЗависимость для этого варианта (с union distinct), похоже, константная: старый 2.5 в два раза быстрее, чем новый 3.0 :( Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2013, 23:52:13 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Решил проверить для Oracle 11 XE вот это:ТаблоидПовторил тест, но уже по условию равенства сумм четырех цифр ... - но с отягощением:Таблоиднамеренно добавил в запрос lucky.sql "ошибку чайника": заменил 'union all' на "просто union"В общем, нам есть куда стремиться: этот гад всё утоптал за 2 минуты, выполнив 20 млн согласованных чтений (вместо 55 млн в ФБ, и то для случая union all ) и всего 2 (два) физических чтения :-) Ora 11 xe, на той же машине, в конфигурации его ничего не менял: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 15:58:21 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Добрался до старого вопроса про кеш и вытеснение из него страниц: " Вытеснение страниц из кеша по принципу LRU" Дано: 0) ФБ-3, SS, и база с кешем = 65535 (размер страницы = 4К); 1) таблица TBIG, 10 млн записей: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 2) Запрос, "ходящий" по двум индексам и выполняющий примерно 3-4 тыс фетчей. Код: plaintext 1. 2. 3. Вот пример для трёх запусков запроса, когда соотв-щих записей *НЕТ* в кеше: reads ~1500...1700 Код: 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. Идём дальше: открываем второе isql-окошко. Запускаем в нём: SQL> select * from tbig where id>=10000000; -- или просто select count(*) from tbig; Получаем план: PLAN (TBIG NATURAL) И результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Повторяем любой из вышеприведенных трех запросов и... получаем однозначное свидетельство, что огроменный NATURAL -скан второго окна вытолнул наши драгоценные записи из кеша. НЕ ВСЕ, но большую их часть: число reads равно 1000...1200 (в самом начале, до "закеширования", было 1500...1700) reads ~1000...1200 Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 18:41:04 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоидогроменный NATURAL -скан второго окна вытолнул наши драгоценные записи из кешаBTW, на WI-V2.5.3.26682 этого нету! Записи остаются в кеше, время повторных выборок по индексам остается равным нулю. (База - аналогичная, арх-ра - такой же SS, кеш коннекта - такой же, 65535). Any comments ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 18:58:23 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид, в 3-ке (пока ещё) сломана защита от большого натурального скана. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 19:08:18 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladв 3-ке (пока ещё) сломана защита от большого натурального скана.в трекер заносить надо или это было сознательно сделано и не забудется ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 19:10:56 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид, пока не надо, я это помню ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 19:20:54 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Тут еще один вопрос полыхнул. По мотивам пьесы почти годовалой давности: "Через сколько времени выполняемый DML должен среагировать на delete from mon$attachments ?", только теперь вместо mon$attachments'a в главной роли mon$statements. Эмпирически выяснилось, что ЕСЛИ: 1) запустить в сеансе_1 какой-то "жуткий bulk insert" типа такого: Код: plaintext 1. 2. 3. 2) затем минут так через 10-15 в сеансе_2 ввести: Код: plaintext 1. 2. ТО: 1) сообщение вида: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Хотя в трейсе сообщение о завершении оператора delete from mon$statements появляется практически сразу же за его стартом: Код: 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. 2) ввод в сеансе_2 сразу после команды (1) команды (2) ни к чему не приводит - т.е. она просто висит без ответа. Опять таки до тех пор, пока ФБ не выполнит откат инсертов. И вот этого я уже не понимаю: что ему (мониторингу) мешает сразу вернуть Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Вот фрагмент трейса по п. "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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. ИТОГО получил: ожидание результата выборки из mon$statements, причина которого связана как-то с завершением откатов "сбитой" массовой вставки записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2013, 22:14:04 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38355660&tid=1564261]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
209ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 523ms |

| 0 / 0 |
