Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
производительность
|
|||
|---|---|---|---|
|
#18+
Проверяем: GlobalInput ;--- Regular Write to Globals --- k ^xSNOAR set t=$zhorolog // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^xSNOAR(index1,index2)="test" } set t0=$zhorolog-t write "(t0) Time using normal set to ^Global = ",?25,t0," c.",! ;--- Regular Write to Globals with ^%NOJRN --- k ^xSNOAR set t=$zhorolog // Disable Journaling do DISABLE^%NOJRN // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^xSNOAR(index1,index2)="test" } // Enable Journaling do ENABLE^%NOJRN set t1=$zhorolog-t write "(t1) Time using set to ^Global and ^%NOJRN = ",?25,t1," c.",! ;--- Sort Transaction with Regular Global ---; k ^xSNOAR set t=$zhorolog set return=$SortBegin(^xSNOAR) // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^xSNOAR(index1,index2)="test" } set return=$SortEnd(^xSNOAR) set t2=$zhorolog-t write "(t2) Time using ^Global and $SortBegin = ",?25,t2," c.",! ;--- Sort Transaction with Regular Global and journaling turned off ---; k ^xSNOAR set t=$zhorolog // Disable Journaling do DISABLE^%NOJRN set return=$SortBegin(^xSNOAR) // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^xSNOAR(index1,index2)="test" } set return=$SortEnd(^xSNOAR) // Enable Journaling do ENABLE^%NOJRN set t3=$zhorolog-t write "(t3) Time using ^Global, $SortBegin, and ^%NOJRN = ",?25,t3," c.",! ;--- Regular Write to Process Global --- k ^||xSNOAR set t=$zhorolog // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^||xSNOAR(index1,index2)="test" } set t4=$zhorolog-t write "(t4) Time using process global = ",?25,t4," c.",! ;--- Sort Transaction with Process globals ---; k ^||xSNOAR set t=$zhorolog // Disable Journaling set return=$SortBegin(^||xSNOAR) // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^||xSNOAR(index1,index2)="test" } set return=$SortEnd(^||xSNOAR) set t5=$zhorolog-t write "(t5) Time using ^||Global and $SortBegin = ",?25,t5," c.",! ;--- Sort Transaction with Process globals and journaling turned off ---; k ^||xSNOAR set t=$zhorolog // Disable Journaling do DISABLE^%NOJRN set return=$SortBegin(^||xSNOAR) // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^||xSNOAR(index1,index2)="test" } ;--- Sort Transactions ends here ---; set return=$SortEnd(^||xSNOAR) // Enable Journaling do ENABLE^%NOJRN set t6=$zhorolog-t write "(t6) Time using ^||Global, $SortBegin, and ^%NOJRN = ",?25,t6," c.",! ;--- Regular Write to SCRATCH --- s J=$J k ^SCR(J) set t=$zhorolog // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^xSNOAR(J,index1,index2)="test" } set t7=$zhorolog-t write "(t7) Time using ^SCR = ",?25,t7," c.",! ;--- Sort Transaction with SCRATCH Global ---; s J=$J k ^xSNOAR set t=$zhorolog set return=$SortBegin(^xSNOAR) // Write random data into global f i=1:1:1000000 { set index1=$Random(1000000) set index2=$Random(1000001) set ^xSNOAR(J,index1,index2)="test" } set return=$SortEnd(^xSNOAR) set t8=$zhorolog-t write "(t8) Time using ^SCR and $SortBegin = ",?25,t8," c.",! //TOO BIG of an array -- causes error: <STORE>GlobalInput+118^ ;--- Regular Write to Local --- ;k LOCAL ;set t=$zhorolog ; ;// Write random data into global ;f i=1:1:1000000 { ; set index1=$Random(1000000) ; set index2=$Random(1000001) ; ; set LOCAL(index1,index2)="test" ;} ; ;set t9=$zhorolog-t ;write "(t9) Time using LOCAL = ",?25,t9," c.",! ; // clean up k LOCAL,^SCR($J),^SNOAR,^||SNOAR quit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 03:02 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
получаем: (t0) Time using normal set to ^Global = 18.628913 c. (t1) Time using normal set to ^Global and ^%NOJRN = 18.301713 c. (t2) Time using ^Global and $SortBegin = 7.21887 c. (t3) Time using ^Global, $SortBegin, and ^%NOJRN = 7.559685 c. (t4) Time using process global = 17.139225 c. (t5) Time using ^||Global and $SortBegin = 8.504193 c. (t6) Time using ^||Global, $SortBegin, and ^%NOJRN = 6.920677 c. (t7) Time using ^SCR = 20.693165 c. (t8) Time using ^SCR and $SortBegin = 7.264298 c. опять: (t0) Time using normal set to ^Global = 19.432563 c. (t1) Time using set to ^Global and ^%NOJRN = 17.021674 c. (t2) Time using ^Global and $SortBegin = 10.013873 c. (t3) Time using ^Global, $SortBegin, and ^%NOJRN = 6.09075 c. (t4) Time using process global = 17.950711 c. (t5) Time using ^||Global and $SortBegin = 5.847095 c. (t6) Time using ^||Global, $SortBegin, and ^%NOJRN = 5.909198 c. (t7) Time using ^SCR = 22.871725 c. (t8) Time using ^SCR and $SortBegin = 7.157459 c. вопрос: ^SCR($J,...) глобаль использывали на каше 5, когда ^||Global не было. Она не журналится, поэтому я ожидал тождественного результата с (t1). Почему-то (t7) > (t1). Посоветуйте где копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 03:23 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
поправил эксперимент -- добавил $J как первый индекс в каждый тест. Результат всё тот же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 03:34 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
код надо в блок код оформлять, читать будет немного удобней что вы ожидали увидеть проведя все пару тестов ? во первых разумно что при добавлении 3 индекса, увеличивается время а во вторых чтобы делать хоть какие то выводы, стоит провести, несколько тестов не меньше 10 и усреднить их результаты и их уже сравнивать кто знает может на вашем сервере кто-то кроме вас запустил еще что-то очень сильное, что отняло производительность тесты можно запустить одновременно параллельно, что может дать несколько более правильную картину так же может зависеть от того на каком ОС работает сервер Cache и еще можно увеличить объем сохраняемых в глобалы данных но в любом случае, логично что при увеличении объема данных, увеличится и время на его сохранение, добавление индекса это тоже касается CEHпоправил эксперимент -- добавил $J как первый индекс в каждый тест. Результат всё тот же... покажите, что у вас получилось, потому как не очень понятно что вы имеете ввиду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 08:26 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
CEH ^SCR($J,...) глобаль использывали на каше 5, когда ^||Global не было. Она не журналится, поэтому я ожидал тождественного результата с (t1). Почему-то (t7) > (t1). Посоветуйте где копать? В коде у вас используется ^xSNOAR и перед блоком 7 включается журналирование. (Кстати, почему бы для временных глобалей процесса в Cache 5 не использовать область CACHETEMP, т.е. ^CacheTemp.<имя>($j)?) Про увеличение "нагрузки" с дополнительным индексом уже написали. Вот более "красивый" код для ваших экспериментов: Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 09:22 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
Не совсем понятно в этих тестах, зачем отключать журналирование при записи в ^||Глобалы? Они и так отображены в CACHETEMP, нежурналируемую базу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 10:36 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
Изменённый код Код: 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. Результаты (Caché 2010.2.FT5): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 12:08 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
спасибо Servit на чём-то быстром бегаете. подсажу свои детали позже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 14:26 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
Turk согласен. краше. кто-нибудь с indirection (не знаю как по-русски) эксперименты ставил? мой эксперимент не чистый так как использую отдельные $Random. зделано умышленно что бы исключить Read. но всё же кто объяснит ^SCR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 14:45 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
CEH, indirection - косвенность. На этом форуме было много экспериментов производительности, включая и косвенность. Про ^SCR DAiMor, Turk уже объяснили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 15:15 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
Servit, я не знаю какой этикет в этой ситуации -- как мне узнать о вашем железе? вами изменённый тест существенно не улучшил скорость на моём сервере. Twin Pen Zeon 2.4 duo core VM with 2G out of 12G allocated RAM Dell perc RAID array Cache 2009.1.3.704.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 22:53 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
CEH, Intel Core Duo 2.66Ghz, 2Gb RAM, 250Gb HDD IDE Думаю, дело в настройках Caché и в улучшениях производительности новой версии СУБД. Подробнее можно почитать в разделе документации "New and Enhanced Features for Caché 2010.2" пункт "Performance And Scalability" . PS: попробуйте сделать тесты не в виртуальной машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2010, 08:32 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
servitPS: попробуйте сделать тесты не в виртуальной машине. Заметил как-то на своих тестах, что в VMware график загрузки процессора от активно работающего процесса Cache выглядит как пила (или набор трапеций). В то же время при работе этого же процесса на этой же машине без использования виртуальной машины график загрузки процессора был ровным. (Тесты проводил при различном количестве параллельных процессов на 4-ядерном процессоре - результат всегда один.) Как мне кажется, все дело в дисковых операциях в VMware, т.к. периоды спада активности процессора совпадают с моментами сброса данных из кэша WRTDMN на диск. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2010, 11:35 |
|
||
|
производительность
|
|||
|---|---|---|---|
|
#18+
CEH, VM: 2 Core, 512Mb RAM, 8Gb HDD Результаты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2010, 18:38 |
|
||
|
|

start [/forum/topic.php?fid=39&gotonew=1&tid=1558010]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
57ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 265ms |
| total: | 441ms |

| 0 / 0 |
