|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
сделал видео. В этом видео - тест параллельной вставки данных в одну таблицу. Теория и практика развеивают мифы. Сравнение серверов Firebird 2.5, 3.0, Classic, SuperClassic, SuperServer. Тут если вставить ссылку на ютуб, она вроде ембеддится, ну и ладно. Вопросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 14:50 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 15 марта 2017 г. 14:54:12: KdvВопросы?Primary Key и вообще индексы есть? (ютуб зарезан) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 14:55 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Мимопроходящий, только ПК. таблица с целочисленными типами, запись 70-80 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:09 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Там на 15 минуте ошибка в тексте, AFAIU - должно быть "отрыв от SC и CS". Описание/код вставлятора есть где-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:10 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Впрочем, досмотрел до конца, тогда код не нужен, пожалуй. :) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:11 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 15 марта 2017 г. 15:15:17: Kdv> только ПКну дык! сериализация ж никуда не делась. проверь без него. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:16 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамОписание/код вставлятора есть где-то? сгенерированы скрипты для вставки, потом "запускатор" стартует партию ISQL с этими скриптами. Гаджимурадов РустамТам на 15 минуте ошибка в тексте, AFAIU - должно быть "отрыв от SC и CS". черт, да, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:16 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Мимопроходящийну дык! сериализация ж никуда не делась. проверь без него. без него будет то же самое, только побыстрее. Собственно, Ковязин еще в 2015 году делал отдельный тест влияния "коротких" и "больших" ПК на вставку, и на миллионе записей и целочисленным ПК разница где-то в 2.5 раза, причем деградации нет. А вот на строковом индексе - деградация идет почти сразу, уже с десятков тысяч записей. Тест, конечно, надо перепроводить на 3.0.2, и у меня была мысль проверить совсем без индексов. Но пока повтор теста на втором месте по важности. Кроме того, hvlad сказал, что в отличие от всего остального SuperServer 3.0 будет пытаться искать другую свободную страницу, если наткнется на лок. Но я это обдумывал, и пришел к выводу, что нифига это не даст, кроме вероятной "фрагментированности" страниц (которую тоже надо будет проверить при повторении теста). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:29 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, а можно к этому видео, размещённом на ibase.ru приложить скрипты самого теста? Чтобы любой желающий мог попробовать у себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:43 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvНо я это обдумывал, и пришел к выводу, что нифига это не даст, кроме вероятной "фрагментированности" страниц (которую тоже надо будет проверить при повторении теста).Плохо обдумывал ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 15:51 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvlad> Плохо обдумывал А что в 2.5 происходит при локе, ждёт или ищет другую? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 16:00 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, дык в 2.5 страницы по другому выделяются - одна за одной. А в 3.0 может выделяться пачками (эсктентами) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 16:01 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Симонов Денис приложить скрипты самого теста? может быть. А может и нет, в силу специфики "обвязки" для запуска isql. В минимальном варианте можно проверить на 1 и двух коннектах: - создать таблицу - сгенерить в ней млн записей (хоть ибэкспертом) - экспортнуть эти данные в текст, это будет скрипт1 - разрезать скрипт1 пополам, это будет скрипт2 - померять время на 1м isql и на двух запущеных хоть с интервалом в 1 сек. это так, чтобы не ждать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 16:04 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Симонов Денисдык в 2.5 страницы по другому выделяются - одна за одной. А в 3.0 может выделяться пачками (эсктентами)Именно. И поиск свободного места\не залоченной страницы осуществляется в пределах текущего экстента. Не самый эффективный алгоритм, тут есть что улучшать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 16:15 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvтолько ПК В следующем тесте добавь один или два. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 16:17 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Я на днях уж посмотрел. И, вроде, даже лайкнул. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2017, 16:31 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, интересует: 1. Сервер однопроцессорный или нет? 2. Диски SSD или железка? Можно ли получить ваш набор в виде, годном для запуска? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 13:28 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
RomanzekСервер однопроцессорный или нет? какая разница, интересно? Особенно если посмотреть на результаты 1, 2 и 4 коннектов. Ядер-то 12. И, сейчас точно не могу сказать, но явно процессор один, 6-ядерные на серверах вроде не бывают. RomanzekДиски SSD или железка? вроде RAID из SATA-дисков. Точно не SSD. скрипты возможно дадим, но позже. Перепроверять на 3.0.2 будем. Однако, мне интересно - что вы хотите получить перепроверкой теста у себя? То есть, вы хотите сравнить с приведенными результатами, или вы ожидаете, что результаты на разных архитектурах будут как-то сильно отличаться от наших результатов? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 14:47 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Hello, Kdv! You wrote on 17 марта 2017 г. 14:57:23: Kdv> 6-ядерные на серверах вроде не бывают.а для кого ж Intel 6-ядерные Xeon'ы клепает? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 14:58 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv6-ядерные на серверах вроде не бывают.у нас пара таких в сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 15:02 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvRomanzekСервер однопроцессорный или нет? какая разница, интересно? Особенно если посмотреть на результаты 1, 2 и 4 коннектов. Ядер-то 12. И, сейчас точно не могу сказать, но явно процессор один, 6-ядерные на серверах вроде не бывают. Разница может быть очень существенной. Так как CFS ;-) Более того, там еще от модели процессора зависит поведение планировщика. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 15:59 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
мы кстати тоже проводили подобные тесты. Но не с целью доказать, что производительность в нескольких потоках снижается - это мы и так понимаем. Наша цель была нащупать предел, после которого наступает серверный коллапс. То есть производительность падает до нуля (что и случалось у нас в продакшине). Но, к сожалению, синтетикой это нащупать оказалось крайне тяжело. Пришлось делать полноценный нагрузочный тест в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 16:13 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, У меня c FB3 SS получилась немного другая картина. 6950X (10C:20T)/128GB/Win10. FB 3.0.2.32692 x64 SuperServer. DefaultDbCachePages = 200000 MaxUnflushedWrites = -1 MaxUnflushedWriteTime = -1 База на RAM диске. Страница 16KB. FW: OFF. Тестовая таблица - 1 колонка (BIGINT, PK). Есть триггер. Перед каждым запуском база приводится к исходному состоянию. На момент проведения этих тестов FB уже накрутил 200 часов (User Time), но перегружать я его не буду. Вставка 1 млн записей: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Вставка 10 млн записей (пробовал только один раз): Код: plaintext 1. 2. 3. 4. 5. 6.
Код теста на C# Код: c# 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. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394.
run1.bat - запуск теста Код: plaintext 1. 2.
run.bat - запуск группы тестов Код: plaintext 1. 2. 3. 4. 5.
Лог запуска для 10млн записей и 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.
Возможно что-то здесь не так. Но у меня нагрузочное тестирование в 4 потока идет ~16 часов. А в 8 потоков - ~10 часов. Тесты разные, но большая часть параллельно работает с одними и теми же таблицами. В 4 потока можно запускать сразу два экземпляра тестов (для разных баз данных) - те же 16 часов. Плюс минус. Естественно - нагрузочные тесты тоже на RAM-диске. Так что цифры вышеприведенного теста вроде адекватные. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 16:36 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, Интересные результаты, спасибо Будем теперь с нетерпением ждать релиза нашей тройки :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 17:04 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Hello, Romanzek! You wrote on 17 марта 2017 г. 17:07:05: Romanzek> Будем теперь с нетерпением ждать релиза нашей тройки :)обо что речь? какой тройки? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 17:07 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, спасибо, это было интересно. БД на RAM диске, конечно, не может не отличаться от БД на HDD. PS С 2.5 сравнить не хочешь в тех же условиях ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 17:12 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Мимопроходящий, как какой, он же из Red Soft ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 17:25 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 17 марта 2017 г. 17:30:05: Симонов Денисон же из Red Softна нём не написано Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 17:30 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий> У меня c FB3 SS получилась немного другая картина. Спасибо, очень интересно. А можешь сравнить SS c CS (ну и SC до кучи) ? hvlad> PS С 2.5 сравнить не хочешь в тех же условиях ? :) Присоединяюсь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 18:09 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, imho фигня полная. я даже не знаю, что комментировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 19:20 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, все-таки комментарий появился. а с какого боку тут мульти-тредовое приложение? Тест про вставку из параллельных коннектов. Кроме того, один коннект в ФБ что 2.5 что 3.0 не распараллеливается. А я у тебя что-то там вставки в N коннектах совсем не вижу. Может я код C# не понимаю, но тем не менее. Отсюда вывод, что результаты тем более ахинейные, и ты просто меряешь распараллеливаемость своего OLE DB провайдера. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 19:40 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, на каждый воркер отдельное подключение. Вроде все корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 19:46 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Romanzek, ткните меня носом в код. В любом случае, я уже такое количество тестов проводил, что нутром чую, что тест должен быть максимально чистым. В нашем случае мы стартовали isql с входным скриптом insert. Что может быть чище? Никакого оверхеда на компоненты, worker threads, и так далее. Кроме того, результаты. в 20 потоках 1млн записей вставляется в 4 раза быстрее, чем в 1. Это при том, что все эти потоки лупят в одну таблицу. Где тут распараллеливаемость может "вдруг случиться", скажите мне? Каким образом 32 isql втыкают записи на супере, на 12-ядерном проце так же, как в 1 коннекте, и каким образом 20 тредов из одного приложения втыкают этот же миллион записей в 4 раза быстрее чем 1 коннект? Откуда может быть такая разница? Ну давайте, объясните мне. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 19:54 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladКоваленко Дмитрий, спасибо, это было интересно. БД на RAM диске, конечно, не может не отличаться от БД на HDD. Да, я тоже эту фишку просёк :) hvladPS С 2.5 сравнить не хочешь в тех же условиях ? :) Да можно. Суперклассик? Я на ночь оставлю. Гаджимурадов РустамА можешь сравнить SS c CS (ну и SC до кучи) ? Рустам, по секрету - сиди на суперсервере тройки :) --- Пока я глазел на студенток шатался, тут посчитались цифры для 40млн записей. Код: plaintext 1. 2. 3. 4. 5. 6.
База с 18MB (пустая) опухла до 2.4GB - то есть она еще даже за пределы страничного кэша не вылезла (3.1гига). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 21:00 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvНу давайте, объясните мне.Дисковая малёху пошустрей? тест с isql готов прогнать на своем десктопе, если что. конфиг i3 проц, ссд на 240 гиг, 16 гиг ОЗУ, Suse42.2 FB 3.0.2 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 21:01 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко ДмитрийhvladPS С 2.5 сравнить не хочешь в тех же условиях ? :) Да можно. Суперклассик? Я на ночь оставлю.SS тоже интересно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 21:06 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvВ нашем случае мы стартовали isql с входным скриптом insert. Что может быть чище? Никакого оверхеда на компоненты, worker threads, и так далее.А у Коваленко препарированные инсерты. Ы ? :) Или ты set bulk_insert умеешь готовить ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 21:15 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
А ещё у него таблица всего с одним полем (индекс есть) и с неизвестным триггером (вдруг он ускоряет инсерты ? ). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 21:19 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladА у Коваленко препарированные инсерты. Ы ? :) Или ты set bulk_insert умеешь готовить ? :) ну и нахрена это надо? я не очень понимаю смысл такого теста. Ну фиг с ним, пусть препарированные. Но пусть запускает N процессов тогда. Не надо вот этой псевдо-многопоточности в C#. hvladА ещё у него таблица всего с одним полем (индекс есть) у нас в тесте было Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Что с одним, что с двумя столбцами - это напороться на артефакт с 50% заполнением страниц. Я про это уже несколько раз писал. Правда, на ФБ 3 не проверял. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 21:47 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
господа. Для повтора теста требуется некий консенсус по поводу условий этого теста. Если я еще понимаю 1. проверку вставки без индексов совсем хотя это нереальный случай, то 2. проверка вставки с несколькими индексами относится несколько к другому тесту - а именно - замедлению вставки при увеличении количества индексов. Понятно, что к тесту как таковой параллельной вставки это имеет мало отношения. У нас уже были семинары (за рубежом и в Москве) где Алексей Ковязин показывал разницу между вставкой с индексом bigint и индексом varchar(36). То есть, понятно, что вставка с увеличением количества индексов замедлится, и ее можно было бы проверить в монопольном режиме, достаточно быстро, а дальше уже экстраполировать на результаты "минимальной" вставки в отношении "многопользовательского режима". Но - вы чего хотите-то? Например, у нас в кулуарах зашел вопрос об использовании gen_id. Например, если его вообще исключить, то получится сугубо синтетический тест. С другой стороны, вызов gen_id на каждый insert "монополизирует" вставку. Но в реальной системе-то идентификаторы как-то генерятся! gen_id напрямую, или триггерами, или еще бог знает как. Проводить тест "налысо", т.е. без минимальной привязки к практическому программированию, я не вижу смысла. Соответственно, возникает вопрос. Либо повторить тест в том виде, в каком он был сделан, именно на 3.0.2, либо повторить тест с множеством отклонений. Понятно, что меня тоже интересует разница "вообще, при разных условиях". Но поскольку сам по себе тест займет не меньше недели (к слову, я ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 23:53 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, экая хня. урл на ютуб в теге http движок развернул в embedded видео. тут я не виноват. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2017, 23:55 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Ты хочешь набор мнений услышать или чего? Для этого надо четкую цель теста озвучить. Лично я за тест на одной плоской таблице, с 5-7 полями (2 строковых, остальные int), в разрезе 1-8 коннектов по всем архитектурам, а) без индексов совсем б) с PK+ 1-2 индекса. 10-40 лямов записей не нужно - достаточно, чтобы минимальная длительность превышала 30 секунд и была стабильна. Ну и 2.5 vs 3.0. kdv> gen_id. Например, если его вообще исключить, kdv> то получится сугубо синтетический тест kdv> Проводить тест "налысо", т.е. без минимальной привязки kdv> к практическому программированию, я не вижу смысла. Так он и сейчас синтетический. Теоретически, его можно и позже "присвоить" update where pk is null. А насчет реальной системы - в реально системе это всё вряд ли будет монопольно, не говоря уже о том, что у таблицы есть зависимости. Неделей раньше или позже - значения не имеет. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 00:17 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам10-40 лямов записей не нужно - достаточно, чтобы минимальная длительность превышала 30 секунд и была стабильна. Ну и 2.5 vs 3.0 как видим, тут и 1 млн записей достаточно. Гаджимурадов РустамТак он и сейчас синтетический. тут ты совсем неправ. Исходный тест был разработан по мотивам (и со структурой таблицы) конкретной компании. Для проверки, что там у них "распараллеливается". Выяснилось, что все это фикция. Гаджимурадов РустамА насчет реальной системы - в реально системе это всё вряд ли будет монопольно, не говоря уже о том, что у таблицы есть зависимости. гм, что??? в куче систем есть задача по массовой заливке данных. Понятно что в 90% этих систем может быть задача по массовому обновлению данных, но это уже несколько другая тема :-) в частности, мы периодически выкладывали логи нашего теста oltp-emul https://ib-aid.com/en/logs-3-0/ Это куда более "синтетично" чем просто вставка или update. Это эмуляция вполне реальной системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 00:26 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv> Исходный тест был разработан по мотивам kdv> (и со структурой таблицы) конкретной компании Она у них без зависимостей что ли?! > гм, что??? в куче систем есть задача по массовой заливке данных. И? Они заливку ночером на одной таблице запускают? Это разве что с репликацией какой-то сравнить, да и-то сильно вырожденный случай. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 00:35 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Кстати, да. Интересно бы знать цель теста. И этого и нового. Вот, например, вчера по рассылке ссылка на видео пришла. [spoiler] Видео ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 00:52 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Цель всех тестов - сравнить. Вопросы звучат как "что сравнивать?" и "чтобы что узнать?". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 00:58 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv2. проверка вставки с несколькими индексами относится несколько к другому тесту - а именно - замедлению вставки при увеличении количества индексов. Лично у меня есть подозрение, что это замедление вставки - тоже миф и большее количество индексов увеличит распараллеливание. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:07 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, в том и вопрос: "чтобы что узнать". Вот (например), лично для тебя, как для разработчика - какая польза от информации, что на десктопном компе с 4Гб ОЗУ фаерберд 2.1 ресторит базу быстрее, чем FB 2.5? Это чем-то напоминает сие сообщение "британских ученых" . Общий вес жертв пауков составляет 400-800 миллионов тонн в год. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:07 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамОна у них без зависимостей что ли?! каких зависимостей? что значат "зависимости" в твоем понимании? FK? Триггеры? Гаджимурадов РустамИ? Они заливку ночером на одной таблице запускают? нет, постоянно заливка работает. биржевые котировки, микротранзакции. Гаджимурадов РустамЭто разве что с репликацией какой-то сравнить, да и-то сильно вырожденный случай. да х. с ним. Есть же у людей задачи вставки нового товара, обновления прайсов, и прочего. чччДИнтересно бы знать цель теста. И этого и нового. есть такая мулька - "параллельно вставлять". Этот тест показал, что эта "мулька" бессмыслена. чччДНо какая польза разработчику от этой информации? разработчику пользы нет, а администратору - есть. По крайней мере он может - оценить 2.0 vs 2.1 2.5 если сидит на 2.0 - оценить restore с теми или иными опциями (-se или прочее) чччДНаверняка, цель какая-то была. Но вот какая - непонятно. лично у меня была цель сравнить IB и FB. Ну и остальное. Dimitry Sibiryakovчто это замедление вставки - тоже миф и большее количество индексов увеличит распараллеливание. ну пендец... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:20 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv... чччДНо какая польза разработчику от этой информации? разработчику пользы нет, а администратору - есть. По крайней мере он может - оценить 2.0 vs 2.1 2.5 если сидит на 2.0 ... И? Администратор, посмотрев твои видео, потребует от разработчика мигрировать программный комплекс на новую версию??? С каких пор администратор принимает решение о выборе СУБД? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:25 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
чччДАдминистратор, посмотрев твои видео, потребует от разработчика мигрировать программный комплекс на новую версию??? госпидя. как будто видео (или статья) прямо толкает админа на какие-то действия. Все эти тесты расчитаны на тех, кто знает, что существуют разные версии ФБ, ИБ, и так далее. И на тех, кто может делать выбор. На КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ ВСЯ ЭТА ХЕРНЯ НЕ РАСЧИТАНА! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:49 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
ёп, я просто поражаюсь. конечные пользователи читают тесты о сравнении версий ИБ и ФБ? Они смотрят видео про сравнение параллельной вставки на разных архитектурах? Ядрена мать, я был такого низкого мнения о конечных пользователях софта на ФБ! Они, оказывается, вовсю меняют конфиг ФБ, железо, и даже код их приложений (про управление транзакциями и оптимальный SQL)! ОНИ ЧИТАЮТ IBASE.RU! ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:53 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvчччДАдминистратор, посмотрев твои видео, потребует от разработчика мигрировать программный комплекс на новую версию??? госпидя. как будто видео (или статья) прямо толкает админа на какие-то действия. Все эти тесты расчитаны на тех, кто знает, что существуют разные версии ФБ, ИБ, и так далее. И на тех, кто может делать выбор. На КОНЕЧНЫХ ПОЛЬЗОВАТЕЛЕЙ ВСЯ ЭТА ХЕРНЯ НЕ РАСЧИТАНА! И так, ни "конечным пользователям", ни разработчикам этот тест не нужен. Нужен админам: kdvПо крайней мере он может - оценить 2.0 vs 2.1 2.5 если сидит на 2.0 Но на мнение админов разработчикам обычно перепендикулярно. С другой стороны - ну не зря же ты эти тесты делал. Десятки часов. Наверное, кому-то нужно. Кому? PS: извините, если что. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 01:58 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, сайт ibase.ru наполнен полезнейшей информацией. Я всех туда отправляю и сам периодически читаю-перечитываю. Вопрос - о конкретном тесте. Ну, оценили время рестора. И что? Кто конкретно должен учесть результаты тестирования в своей работе? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 02:04 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
чччДНаверное, кому-то нужно. Кому? ну, немцы любят такие штуки - всякие сравнения и т.п. разработчикам тоже надо понять, что быстрее и как. и, если бы вот это мое видео было неинтересно, не было бы топика на три страницы. Люди хотят понять, имеет смысл параллельная вставка или нет, и в каких случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 02:05 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvразработчикам я имею в виду в первую очередь разработчиков систем на ФБ. Впрочем, разработчикам Firebird такие тесты тоже полезны. Обычно, если есть непонятные результаты тестов, мы их не публикуем, а спрашиваем разработчиков ФБ, "почему так". ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 02:08 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, твое видео интересно безотносительно цели тестирования. Но ведь нельзя все время выезжать на талантливой игре актеров, нужно какой-то сюжет в сценарий включить, чтобы интрига была. :) Вон, например, как когда ты терабайтную базу гонял. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 02:12 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv...разработчикам Firebird такие тесты тоже полезны. Обычно, если есть непонятные результаты тестов, мы их не публикуем, а спрашиваем разработчиков ФБ, "почему так". ОК, этот ответ полностью удовлетворил. Спасибо, и еще раз извиняюсь за нудёж. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 02:14 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladSS тоже интересно. Чтобы два раза не вставать, протестировал все. Логи, базы, XLSX, исходный код теста ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 12:32 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий> Чтобы два раза не вставать, протестировал все. О, большое спасибо. Хай живе 2.5 CS! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 14:18 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv> каких зависимостей? > что значат "зависимости" в твоем понимании? FK? Триггеры? Да, другие таблицы с FK, триггеры с чеками и ХПами. > нет, постоянно заливка работает Она монопольно работает что ли? > лично у меня была цель сравнить IB и FB. Ну и остальное. ИМХО, на IB всем начхать. Ну может кроме ДЕ и Ко ради потешить самолюбие, и-то сильно сомневаюсь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 14:20 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамИМХО, на IB всем начхать. ну почему же, интересно знать как там конкуренты ФБ поживают. Коваленко Дмитрий, результаты Firebird 3 могли бы быть чуть лучше (где-то 1-3%), если бы было выключено шифрование подключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 14:38 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Симонов Денисрезультаты Firebird 3 могли бы быть чуть лучше (где-то 1-3%), если бы было выключено шифрование подключения.Ну вот что ты сравнивашь ? 1-20 шт. затрат на коннект с шифрованием - и вставка 1-10 млн записей с клиента (т.е. соотв. кол-во вызовов АПИ). Ещё раз подумай... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 14:44 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Симонов Денис> результаты Firebird 3 могли бы быть чуть лучше (где-то 1-3%) Я не знаю, насколько справедливо твоё замечание, особенно с учетом слов Влада, но даже если так, то 1-3% - это в любом случае в пределах погрешности, мало заслуживающей внимания. Скорее уж тут надо сравнивать на более широких таблицах + (без индексов | c 2-3 индексами). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 15:26 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, я уже говорил, что результаты твоего теста - фигня какая-то. Проверил 1млн вставку СКРИПТОМ, в isql, Firebird 3.0 SS, 1 столбец bigint+пк, 16к страница. Диск sata. FW=ON - 70 секунд, FW=OFF - 65 секунд. А у тебя на RAM-диске - 128 секунд. Ну да, триггера before insert у меня нет. Тем не менее. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 16:51 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Почему фигня-то? Просто тест снижает влияние IO из-за HDD vs RAM. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 17:11 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvПроверил 1млн вставку СКРИПТОМ, в isql То есть к собственно вставке ты примешал ещё борьбу за кэш метаданных, ACL и парсер. Теперь осталось угадать какая из этих частей плохо распараллеливается. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 18:06 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvвставку СКРИПТОМ вот это вообще не вижу смысла бенчмаркать, кого волнует производительность вставки так делать никогда не будут ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 20:10 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Не будут - не так важно. Куда важнее сравнить isql-скрипт c обычным вариантом через preapre. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 22:01 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТо есть к собственно вставке ты примешал ещё борьбу за кэш метаданных, ACL и парсер. ну что за.... я просто сделал скрипт с 1млн инсертов, и запустил его в isql. ОДИН раз, один isql, просто для сравнения с результатами Коваленко. И сравнил полученные 65 секунд с его 128 секунд на RAM диске. Какая еще борьба за кэш, и прочее? dimitrвот это вообще не вижу смысла бенчмаркать, кого волнует производительность вставки так делать никогда не будут да ё-мое. У Коваленко в одном коннекте 128 секунд, препарированные вставки, на РАМ диске. У меня - 65 секунд на одном коннекте, текстовые инсерты, на SATA. Гаджимурадов Рустамisql-скрипт c обычным вариантом через preapre. именно! Почему у меня скриптом в 2 раза быстрее чем prepare? p.s. до кучи - размер кэша ФБ на рестор не влияет, соответственно на тест инсертов он тоже влиять не будет. Поэтому никакого смысла задирать кэш суперсерверу в этом тесте не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.03.2017, 23:24 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv> я просто сделал скрипт с 1млн инсертов Даже EB/SP было бы лучше, наверное. > Почему у меня скриптом в 2 раза быстрее чем prepare? Ежа с ужом. У вас компы разные, всё разное. Размер кеша на простые инсерты и не должен влиять, за какими-то необычными случаями. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 00:58 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Гаджимурадов РустамЕжа с ужом. У вас компы разные, всё разное. то есть, Intel I7-6950X хуже AMD FX8350 ? http://cpuboss.com/cpus/Intel-6950X-vs-AMD-FX-8350 база в RAM хуже SATA? Когда разница в 2 раза ! в голове должно возникнуть подозрение, что "что-то тут не так". Я считаю, что если C# в 2 раза медленнее скрипта, значит проблема в C#. Придется написать тест с prepare, с gen_id в скрипте, и gen_id в триггере. И сравнить между собой уже эти вещи, как минимум однопоточно. p.s. битва! :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 03:12 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, для начала добавь триггер :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 03:20 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvто есть, Intel I7-6950X хуже AMD FX8350 ? http://cpuboss.com/cpus/Intel-6950X-vs-AMD-FX-8350 cpubossReasons to consider the AMD FX 8350 Significantly higher clock speed 4 GHz vs 3 GHz Around 35% higher clock speed Higher turbo clock speed 4.2 GHz vs 3.5 GHz More than 20% higher turbo clock speed ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 03:23 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladдля начала добавь триггер :) я бы добавил, но ты меня этим советом ввел в ступор. В таблице Коваленко ведь 1 столбец. А что тогда в insert писать, если есть триггер? insert into test values (ШТО?!?!) :-) hvladReasons to consider the там же написано, что в одноядерном режиме они почти эквивалентны. А вот 128 секунд и 65 секунд - не эквивалентны. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 06:05 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvя бы добавил, но ты меня этим советом ввел в ступорВыйди из ступора и добавь пустой триггер :) kdvтам же написано, что в одноядерном режиме они почти эквивалентны.Заборы - они такие, там тоже пишут. А вот мегагерцы - их никто не отменял. kdvА вот 128 секунд и 65 секунд - не эквивалентны.Ну так у вас и условия теста мало в чём совпадают ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 11:06 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladдля начала добавь триггер :) Да нет. Для начала надо заставить восемь экземпляров isql отрабатывать в 4 раза быстрее. Но поскольку это не получается, мы будем ставить под сомнение результаты альтернативного теста. Удобно же. ---- 0. Тест был написан максимально корректно - в нем даже не учитывается время на инициализацию подключения/транзакции/запроса. Можно было бы исключить время на коммиты и завершение работы потоков, но мне это пришло в голову только сейчас. И конечно же, каждый поток работает со своим подключением. На 10 потоках и fb3_ss/cs/sc процессор (с HT) показывает загрузку на половину. То есть, можно считать, что все ядра загружены работой. 1. До RAM-диска там дело не доходит - потому что страничный кэш (3GB) больше чем база данных (600MB). Собственно, можно и на RAID из HDD выполнить (у меня он, такой RAID, тоже есть) - но смысла в этом уже нет. Потому что ответ на вопрос "про параллельную вставку в одну таблицу" уже получен. В начале я думал, что в тесте с isql затык связан с дисками. И индексом. Поэтому и применил эту "тяжелую артиллерию". Результат согласуется с моим другим наблюдением - нагрузочное тестирование IBProvider-а в восемь потоков (10 часов) быстрее в полтора раза чем в четыре потока (15-16 часов). Кстати, как раз на восьми потоках RAM-диск и демонстрирует себя во всей красе. 2. Почему-то не возникает вопрос - почему на одном подключении fb25_ss работает на 25% быстрее чем fb3_ss. Но вот почему "однопоточная" загрузка через isql работает быстрее чем через два ( ДВА , Карл) провайдера (каждый из которых на порядки сложнее чем этот isql) - это мы не понимаем. Или делаем вид, что как не понимаем. Ну хорошо, я объясню. Как только isql начнет работать поставщиком данных, реализующим спецификации OLE DB + ADO.NET + сопутствующие требования к таким вещам, цифры выравняются. 3. Можно взять родной ADO.NET провайдер для FB и натянуть мой тест на него (там работы на 10 минут). Этот провайдер без претензий, поэтому работает ощутимо быстрее. Впрочем, взять что угодно (FIB/IBO/IBX/ISC API) и проверить на них. И меня смешит, что за четыре дня никто, из здесь отметившихся, этого не сделал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 11:53 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко ДмитрийДля начала надо заставить восемь экземпляров isql отрабатывать в 4 раза быстрее.Ты (и kdv) не правильно интерпретируете полученные результаты :) На примере твоих данных: я, например, вижу, что движок в состоянии залить 1млн записей (в твою таблицу с индексом и триггером) за 31 сек. Твой код имеет значительный оверхед, который хороо виден на одном потоке и который удаётся преодолеть где-то 4-8 потокам. Что радует - при увеличении кол-ва потоков нет деградации производительности (хотя причины для неё вполне есть). Не знаю, как оно было бы для 32-64-128 потоков. У isql оверхед другой, там и картина чуть другая. Вот и весь "секрет". Коваленко ДмитрийНа 10 потоках и fb3_ss/cs/sc процессор (с HT) показывает загрузку на половину. То есть, можно считать, что все ядра загружены работой.А какая загрузка у процесса FB и какая - у твоего теста ? Коваленко Дмитрий нагрузочное тестирование IBProvider-а в восемь потоков (10 часов) быстрее в полтора раза чем в четыре потока (15-16 часов) А там что, тоже долбится одна и таже таблица ? Коваленко ДмитрийПочему-то не возникает вопрос - почему на одном подключении fb25_ss работает на 25% быстрее чем fb3_ss.Потому что на него 100500 раз отвечали уже ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 12:55 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко ДмитрийИ меня смешит, что за четыре дня никто, из здесь отметившихся, этого не сделал.Здесь Дельфи не знают (c) (tm), а ты про какой-то ужасный Ц-шарп :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 12:56 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко ДмитрийДо RAM-диска там дело не доходит - потому что страничный кэш (3GB) больше чем база данных (600MB).Тут ты тоже не прав, кстати. Т.к. ты не менял FileSystemCacheTreshold, то ты выключил кеширование на уровне FS и любой IO превратился в синхронный непосредственный обмен с RAM диском. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 13:03 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий. До RAM-диска там дело не доходит - потому что страничный кэш (3GB) больше чем база данных (600MB). если ты так веришь, что кэш фб работает на массовые вставки - зачем тогда суперу выставил здоровенный кэш? В конце-концов мог бы еще один раз запустить тест супера с дефолтным кэшем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 15:04 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvКоваленко Дмитрий. До RAM-диска там дело не доходит - потому что страничный кэш (3GB) больше чем база данных (600MB). если ты так веришь, что кэш фб работает на массовые вставки - зачем тогда суперу выставил здоровенный кэш? Это размер кэша, в который целиком помещается база после нагрузочного тестирования на FB3_SS. Я не стал его менять для этого теста с инсертами на суперсервере. Какой смысл мне жадничать? kdvВ конце-концов мог бы еще один раз запустить тест супера с дефолтным кэшем. Меня не просили, я не запускал. А сам я в последнее время недогадливый стал. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 17:22 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladКоваленко ДмитрийНа 10 потоках и fb3_ss/cs/sc процессор (с HT) показывает загрузку на половину. То есть, можно считать, что все ядра загружены работой.А какая загрузка у процесса FB и какая - у твоего теста ? Прямо сейчас померил (2 раза) 1млн в один поток. Лучший вариант: - Тест работал 138 секунд. - Тестовый процесс 58 секунд (User Time: 34 секунды). hvladКоваленко Дмитрий нагрузочное тестирование IBProvider-а в восемь потоков (10 часов) быстрее в полтора раза чем в четыре потока (15-16 часов) А там что, тоже долбится одна и таже таблица ? Таблиц в базе много. Но в какой то момент времени, как правило, тесты мучают одну или две. Например таблица TBL_CS__WIN1251 - на ней проверяются разные комбинации кодовой страницы подключения/кодовой страницы клиента/разные способы вставки и чтения/разные типы (CHAR/VARCHAR/BLOB/массивы). Для каждого символа кодовой страницы 1251. Если прогонять эти проверки последовательно - уже никакой жизни не хватит. Или ты мне хочешь сказать, что я неправильно работаю с Firebird? Ну, неправильно, да. Правильно было раньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 18:08 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
hvladКоваленко ДмитрийДо RAM-диска там дело не доходит - потому что страничный кэш (3GB) больше чем база данных (600MB).Тут ты тоже не прав, кстати. Т.к. ты не менял FileSystemCacheTreshold, то ты выключил кеширование на уровне FS и любой IO превратился в синхронный непосредственный обмен с RAM диском. FileSystemCacheTreshold, наверное, появился после того как я перестал интересоваться вопросом "как еще можно ускорить сервер собственными средствами?". После 2010? Спасибо, попробую. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 18:16 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Коваленко Дмитрий, твои тесты твоего же драйвера тут мало кого интересуют. Любые посторонние штуки делают тест "не чистым". Что за проблема создать пустую базу и туда уже положить таблицу для теста insert? Кого, нафиг, интересует тест вставки в таблицу из ОДНОГО столбца? Ну ей-богу... Коваленко ДмитрийСпасибо, попробую. чего там пробовать-то. смотришь RAMMAP, есть твоя база в файловом кэше, или нет. Если нет, значит ты кэш ФБ в конфиге задул больше FileSystemCacheTreshold, и все. А там по умолчанию 64к страниц. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 18:54 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdvКоваленко Дмитрий, твои тесты твоего же драйвера тут мало кого интересуют. Они и мне не очень интересны. До тех пор пока не найдут какую нибудь херню. Как правило - на стороне сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2017, 19:42 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
запилил свой вариант на OO API 4.0 с использование Batch API (по 100 записей) id это просто номер записи в цикле, threadId номер потока. Заливалось 1 млн записей. Процессор Inter Core i3-8100 3.6 GHz (4 физических ядра). На каждый поток своё подключение по TCP на localhost. 1. Без индексов Код: sql 1.
Код: 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.
как видно распараллеливание вставки в таблицу без индексов не очень хорошее. А вот если есть индексы картина кардинально меняется Код: sql 1.
Код: 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.
Первоначально пробовал без использование batch API. Так вот там вставка в таблицу без индексов параллелилась прям на ура. Но потом я подумал и понял, что ускорение происходит за счёт преодоления оверхеда сетевого взаимодействия пусть даже по localhost. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2020, 22:59 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Симонов Денис Первоначально пробовал без использование batch API. Так вот там вставка в таблицу без индексов параллелилась прям на ура Насчёт индексов - как распределены ключи ? Ну и - как часто делал коммит, чему равен FW, какая дисковая, что менял в конфиге ? Интересно ещё повторить с xnet и embedded. И с более широкой таблицей. Тесты с блобами и обычным\BatchAPI тоже весьма интересны :) Я не сильно губу раскатал ? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 00:00 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Симонов Денис, архитектура-то какая? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 02:28 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
kdv, SS hvladИнтересно. А результатов не сохранил ? Сравнить с Batch API, да и вообще. там в табличке не было поля threadId. В одном потоке скорость была примерно в 10 раз хуже. Batch API рулит :) Постараюсь вечером повторить на новой таблице. Да и вообще оставить в коде оба варианта с переключением через аргументы консоли. hvladНасчёт индексов - как распределены ключи ? В одном потоке id=1, 2, 3, 4, 5 ... 1000000 Если потоков несколько то я просто разбиваю на одинаковые диапазоны. Т.е. для 2 потоков 1...500000 и 500001...1000000 Но в саму таблицу они конечно попадают как random пошлёт. Из одного потока всегда нарастают, но потоки могут чередоваться как захотят. FW=ON, обычный SATA диск xnet и embedded попробую. Вообще я пока не делал тест настраиваемым. Надо бы входные параметры в аргументы командной строки перенести. hvladИ с более широкой таблицей. Тесты с блобами и обычным\BatchAPI тоже весьма интересны :) а вот это настройками сделать сложнее, ибо я использую в коде макросы FB_MESSAGE. Т.е. придётся на каждый вариант таблицы свою процедуру заливки делать. С блобами там вообще в BatchAPI аж 4 варианта. hvladЯ не сильно губу раскатал ? нормально. Мне же самому интересно, иначе бы я тест делать не стал. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.02.2020, 09:54 |
|
ANN: видео о мифе эффективности параллельной вставки
|
|||
---|---|---|---|
#18+
Результаты тестов для разных протоколов. Варианты с широкой таблицей и BLOB не тестировались. Потоков/подключенийINETINET batchINET indexINET index batchXNETXNET batchXNET indexXNET index batchEmbEmb batchEmb index139.1353.56945.75512.91919.5663.55832.08413.3524.4653.42713.922220.6813.42431.9828.68811.3762.90228.6878.2333.7893.09611.093415.3202.70218.8615.8069.5592.60614.6665.2293.6802.9555.870814.8762.42018.0354.9458.2442.49312.7844.6492.8672.7476.1671615.0852.43317.8964.9178.2262.45211.4915.0373.0932.6115.743 статистика для 1 потока Код: 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.
статистика для 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.
выводы: 1. Массовая заливка данных в таблицы по сетевым протоколам (INET,WNET,XNET) при использовании Batch API существенно быстрее. 2. Batch API с Embedded даёт небольшой прирост производительности, что ожидаемо. 3. Параллельная вставка в одну таблицу без индексов не даёт существенного выигрыша (при использовании сетевых протоколов может сложится впечатление, что операция хорошо масштабируется, однако на самом деле это преодоление оверхеда сетевых протоколов, что хорошо видно при использовании Batch API или Embedded ) 4. Параллельная вставка в одну таблицу с индексами масштабируется существенно лучше. Однако учтите, что при параллельной вставке записи будут попадать в таблицу не в том порядке в котором они были изначально, а потому индексы станут менее компактными. Кроме того их фактор кластеризации будет существенно хуже. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2020, 16:08 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560443]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
93ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 193ms |
0 / 0 |