|
|
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hi all В этом топеге буду складывать вопросы, появляющиеся по результатам сравнения - если увижу, что 3.0 в чем-то уступает 2.5. Запускаю на одной и той же машине старые тесты, сначала на WI-V2.5.3.26682 (SuperClassic), а затем на WI-T3.0.0.30567 (SuperServer). Данные по машине: Win-2003 Server SP2, CPU 2.4 GHz (2 core), RAM 1 Gb (увы, но только это). Пока что нарыл некоторое ухудшение скорости вставок в GTT. Исходный вопрос обсуждался тут: http://www.sql.ru/forum/860810-2/gtt-on-commit-delete-rows-nenulevye-writes-fetches-pri-commit-e-why Дано: 1) две пустые базы, для 2.5 и 3.0, на обеих pagesize=4K, FW = OFF и кеш = 65535 2) DDL: Код: sql 1. 2. 3. 3) выполняю на каждой базе по очереди следующие три серии запросов: Код: sql 1. 2. 3. 4. 5. (NB: для GTT, которая on commit PRESERVE rows, сразу после её заполнения и коммита делаю quit, дабы 2-й и последующий замеры снова начинались с нулевого состояния этой таблицы). Результаты: 1) время вставок в GTT'шки увеличилось в 3.0 по сравнению с 2.5, от 15% (для preserve rows) до 40% (для commit rows). 2) время вставок в fixed-таблицу увеличилось в 3.0 примерно на 10-15% Вот статистика по reads/writes/fetches (БЕЗ времени выполнения): Server versionВид таблицыСтатистикаЗатраты на insert 1'000'000 строкЗатраты на commit2.5.3.26682GTT on commit DELETE rowsReads11Writes2620445Fetches5237537204562.5.3.26682GTT on commit DELETE rowsReads381Writes2620444Fetches523783512.5.3.26682GTT on commit DELETE rowsReads11Writes4220446Fetches52375911xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3.0.0.30567GTT on commit DELETE rowsReads420Writes2820435Fetches5242686204583.0.0.30567GTT on commit DELETE rowsReads10Writes2220435Fetches524252313.0.0.30567GTT on commit DELETE rowsReads1840Writes8820439Fetches52914041 А вот статистика по времени выполнения: 1. для GTT on commit DELETE rows: среднее увеличение времени вставок ~40% Server versionОперацияизм_1изм_2изм_3изм_4изм_5изм_6изм_7изм_8изм_9изм_102.5.3.26682insert 1'000'000 rows3.193.193.183.193.213.193.213.193.193.213.0.0.30567""4.564.564.574.564.564.554.564.574.564.562.5.3.26682commit0.281.881.800.280.271.710.280.282.670.263.0.0.30567""1.750.290.300.300.320.301.860.310.300.29 2. для GTT on commit PRESERVE rows: среднее увеличение времени вставок ~15% Server versionОперацияизм_1изм_2изм_3изм_4изм_5изм_6изм_7изм_8изм_9изм_102.5.3.26682insert 1'000'000 rows5.025.115.135.275.215.275.705.065.315.173.0.0.30567""6.306.426.376.176.326.426.286.236.366.432.5.3.26682commit0.250.270.270.270.250.270.250.260.250.173.0.0.30567""0.260.280.270.280.280.280.280.260.280.26 3. для FIXED-таблицы: среднее увеличение времени вставок ~10-12% Server versionОперацияизм_1изм_2изм_3изм_4изм_5изм_6изм_7изм_8изм_9изм_102.5.3.26682insert 1'000'000 rows4.534.503.093.374.824.203.354.743.803.033.0.0.30567""5.474.494.434.474.414.414.394.544.414.412.5.3.26682commit2.231.971.661.771.751.981.832.011.762.033.0.0.30567""1.911.902.041.922.232.021.941.912.111.97 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 20:47:58 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
А сравни-ка всё то же самое, но с pagesize=16K, FW = ON Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 20:50:29 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамА сравни-ка всё то же самое, но с pagesize=16K, FW = ONпоясни, плз, что это даст ? FW = ON никак не должен повлиять на результаты GTT'шек. А увеличение pagesize должно обязательно привести к увеличению времени вставок/коммитов, но разве должны нарушиться их соотношения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 20:54:21 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид, Ты лучше свой тест с конкурентными вставками или апдейтами проверь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 20:58:31 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидПока что нарыл некоторое ухудшение скорости вставок в GTTВот как в двух операциях (select + insert) ты однозначно увидел замедление именно вставок ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:09:04 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидА увеличение pagesize должно обязательно привести к увеличению времени вставок/коммитовС чего бы это ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:09:29 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидЗапускаю на одной и той же машине старые тесты, сначала на WI-V2.5.3.26682 (SuperClassic), а затем на WI-T3.0.0.30567 (SuperServer).Ты сравниваешь апельсины с огурцами. Сделай им хотя бы кеши одинаковые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:12:03 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисТы лучше свой тест с конкурентными вставками или апдейтами проверь.Это тоже будет, попозжее только. Сейчас надо простые штуки сравнить. Кстати: и в 2.5 и в 3.0 при commit'e в gtt on commit DELETE rows движок развивает бурную деятельность, смысл которой мне непонятен: Код: plaintext 1. 2. 3. 4. 5. 6. Тогда как в остальных двух случаях (gtt on commit PRESERVE и fixed-table) всё вполне пристойно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. (вроде бы я спрашивал уже про это, но найти не могу в ворохе своих же изысков ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:13:40 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидА увеличение pagesize должно обязательно привести к увеличению времени вставок/коммитовС чего бы это ?дык напарывался уже, в 2.1 еще... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:15:36 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидЗапускаю на одной и той же машине старые тесты, сначала на WI-V2.5.3.26682 (SuperClassic), а затем на WI-T3.0.0.30567 (SuperServer).Ты сравниваешь апельсины с огурцами. Сделай им хотя бы кеши одинаковые.Я с SS не работал, по 65000 выставил. Какой поставить-то в 3.0 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:16:22 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид3) выполняю на каждой базе по очереди следующие три серии запросов: Код: sql 1. 2. 3. Твои старые любимые грабли - первый запрос тратит время на расширение файла, второй запрос пользуется уже расширенным файлом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:16:32 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидПока что нарыл некоторое ухудшение скорости вставок в GTTВот как в двух операциях (select + insert) ты однозначно увидел замедление именно вставок ?гм... но селект-то идёт из одной и той же "бочки"! а вставки - по разным "флаконам" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:17:50 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидКстати: и в 2.5 и в 3.0 при commit'e в gtt on commit DELETE rows движок развивает бурную деятельность, смысл которой мне непонятен: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:18:32 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТвои старые любимые грабли - первый запрос тратит время на расширение файла, второй запрос пользуется уже расширенным файлом.йок. ибо: Код: sql 1. 2. 3. 4. ну, и в первом посте: автор(NB: для GTT, которая on commit PRESERVE rows, сразу после её заполнения и коммита делаю quit, дабы 2-й и последующий замеры снова начинались с нулевого состояния этой таб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:20:05 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидйокТа ты шо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:21:48 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladПри освобождении страниц данных GTT помечает место в PIP, как свободноеДля чего это делать ? всё равно страницы GTT'шки с on commit delete rows никогда не будут видны даже транзакции "А", стартовавшей в одном коннекте с транзакцией "Б". Как только коммит будет - "ку-ку", вся таблица снова нулевая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:24:16 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидйокТа ты шо :)"Как же это так, кормилец ?!" (С) Если я сделал quit из единственного коннекта, а после - очередной коннект, то что... fb_temp_xxx разве НОВЫЙ не создастся ?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 21:25:53 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидhvladПри освобождении страниц данных GTT помечает место в PIP, как свободноеДля чего это делать ?А что такое PIP ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 22:35:28 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидЕсли я сделал quit из единственного коннекта...Ты сегодня в ударе :) Перечитай ещё раз: hvladпервый запрос тратит время на расширение файла, второй запрос пользуется уже расширенным файломи ещё разhvlad первый запрос тратит время на расширение файла, второй запрос пользуется уже расширенным файломи потом - ещё раз, контрольный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 22:37:36 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladПеречитай ещё раз <...> и потом - ещё раз, контрольныйПеречитал. Дошло, спасибо :-) Сделал заново для GTT'шек (без fixed-таблиц), добавил QUIT после каждого insert + commit. Ну, так вот: всё равно в ФБ-3 время больше. Вот "сырой" отчет, но надеюсь, в нём всё понятно: 1. для 2.5: Код: 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. 2. Для 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. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. Но в ФБ 2.5 времени на это уходило меньше, отношение ~5/6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 23:41:24 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladТаблоидпропущено... Для чего это делать ?А что такое PIP ? http://www.ibphoenix.com/resources/documents/design/doc_19 Page Inventory Page Page Type 2 is a page inventory page (PIP). PIPs map allocated and free pages. The header of a PIP includes the offset on this page of the bit that indicates the first available page on the PIP. The body of a PIP contains an array of single bits that reflect the state of pages in the database. If the bit is one, then the corresponding page is not in use. If the bit is zero, then the page is in use. PIPs occur at regular intervals through the database, starting at page 1. The last page allocated on each PIP is the next PIP. А это... как его... Что в эту самую PIP для GTT'шек пишется ? Раз их содержимое вообще вне базы хранится, то что будет содержать этот самый "array of single bits that reflect the state of pages in the database " для GTT'шек ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2013, 23:51:01 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
hvladкак в двух операциях (select + insert) ты однозначно увидел замедление именно вставок ?Проверил уже только вставки, никаких селектов - т.е. через execute block: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. - и аналогичный скрипт для таблицы gttsav. Результат: замедляются именно ВСТАВКИ. Затраты на выборку из rdb$fields были микронные. Замеры делал по 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. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. Соотношение между временем вставок, КМК, осталось таким же: 5/6 в пользу ФБ 2.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 10:09:51 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Таблоид, Стабильность курсора требует определённых затрат + nbackup (который теперь работает быстрее). Может быть ещё найдут способ ускорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 10:24:10 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
ТаблоидЧто в эту самую PIP для GTT'шек пишется ? Раз их содержимое вообще вне базы хранится, то что будет содержать этот самый "array of single bits that reflect the state of pages in the database " для GTT'шек ?Ты не поверишь, но временный файл с данными GTT имеет такую же структуру, как и обычная БД. И я писал об этом, насколько я помню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 10:44:37 |
|
||
|
Сравнение производительности 2.5.3 vs 3.0 (перечитывая старые тесты)
|
|||
|---|---|---|---|
|
#18+
Симонов ДенисСтабильность курсора требует определённых затрат + nbackup (который теперь работает быстрее).Хорошая попытка, но мимо, по крайней мере в данном тесте :) Новый общий кеш в однопоточных тестах работает несколько медленнее, чем раньше. Ибо синхронизация, которой раньше не было, требует жертв. Симонов ДенисМожет быть ещё найдут способ ускорить.Правильно, и этим тоже занимаемся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2013, 10:47:08 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38352153&tid=1564261]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 522ms |

| 0 / 0 |
