Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Железо - Intel Xeon 5110 1.6GHz памяти 2GB винты SATA 3 шт без RAID на одном операционка на другом база на третьем копии. ОС Windows server 2003 Std SP2 До изменений из 3 баз сливалась в ко мне за 30минут, теперь 3 часа. Помогите советом! Спасибо Переменные через show all; Код: 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. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 13:07 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Может кто еще чего поумнее посоветует... Я бы для начала поднял бы память: Код: plaintext 1. 2. Может поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 14:04 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Andrey DaeronМожет кто еще чего поумнее посоветует... Я бы для начала поднял бы память: Код: plaintext 1. 2. Может поможет. Судя по доке, ета память отвечает вовсе не за INSERT. Добавлю так же, что инсерты я делаю в базы без индексов, т.е. DROP , куча INSERT, затем CREATE INDEX. PG 8.4.2 work_mem (integer) Specifies the amount of memory to be used by internal sort operations and hash tables before switching to temporary disk files. The value is defaults to one megabyte (1MB). Note that for a complex query, several sort or hash operations might be running in parallel; each one will be allowed to use as much memory as this value specifies before it starts to put data into temporary files. Also, several running sessions could be doing such operations concurrently. So the total memory used could be many times the value of work_mem; it is necessary to keep this fact in mind when choosing the value. Sort operations are used for ORDER BY, DISTINCT, and merge joins. Hash tables are used in hash joins, hash-based aggregation, and hash-based processing of IN subqueries. maintenance_work_mem (integer) Specifies the maximum amount of memory to be used in maintenance operations, such as VACUUM, CREATE INDEX, and ALTER TABLE ADD FOREIGN KEY. It defaults to 16 megabytes (16MB). Since only one of these operations can be executed at a time by a database session, and an installation normally doesn't have many of them running concurrently, it's safe to set this value significantly larger than work_mem. Larger settings may improve performance for vacuuming and for restoring database dumps. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 14:27 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
А я бы попробовал отключить fsync. Хорошо помогает ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 15:31 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
zsmА я бы попробовал отключить fsync. Хорошо помогает ;-) Ага, потом базу с бэкапа поднимать ... Нет fsync и раньше был включен и меня все устраивало. Я увеличил Код: plaintext 1. 2. Но vacuum выполняется безумно долго. Что за беда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 15:39 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Уточню - VACUUM FULL ANALYZE Просто VACUUM ANALYZE выполняется: Код: 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. Хотя раньше с FULL хватало 20 секунд ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 15:55 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
А если восстановить все парамерты по-умолчанию и найти все отличия, которые были вами внесены? Хотя предполагаю, что вы это уже сделали... И еще одна мысль. У нас были проблемы с производительностью дисковой подсистемы (SATA on RAID) сразу после уставновки Windows server 2003 Std SP2. С SP1 все работало замечательно. Есть преположение, что это как-то связано с драйверами. Эту проблему пока так и не решили (руки никак не дойдут). Возможно, есть смысл измерить, все ли здесь в порядке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 16:01 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
checkpoint_segments 3 имхо, маловато будет. Поставьте 16 хотя бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 16:13 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Andrey DaeronМожет кто еще чего поумнее посоветует... Я бы для начала поднял бы память: Код: plaintext 1. 2. Может поможет. Поставил 64MB и 300МВ соответственно Thamerlancheckpoint_segments 3 имхо, маловато будет. Поставьте 16 хотя бы Поставил 16 Стал тестировать один процесс - стабильно давал 120 секунд выполнения. Затем стал менять настройки, пробуя уменьшать\увеличивать значения В итоге получилось стабильно (среднее из 7 значений от 83 до 112) 92 секунды выполнения при следующих параметрах: Код: plaintext 1. 2. 3. 4. 5. 6. особенно отличился wal_buffers В процессе используется DROP;CREATE TABLE;COPY FROM; UPDATE; CREATE INDEX;VACUUM FULL ANALYZE; Однако на скорость INSERT это не повлияло. Теперь я стал припоминать, что давно не обращал на этот процесс внимания и SP2 на 2003 сервер поставил недавно. Так что я все больше склоняюсь к мнению, что причина в нем. Попробую проверить на резервном сервере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.08.2007, 19:47 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Нашел гада! Подложил я пустой postgresql.conf (ну не совсем, чтобы сконнектится можно было) и, о чудо! Все вернулось на место! Стал я по одному присваивать параметры, что менял и смотреть что будет. Сделал процесс который вставляет 10000 записей и попробовал на чистом конфиге. Вышло 18 секунд, потом стал "улучшать" и дошел до 16 секунд. Но! Как только я высатавил Код: plaintext 1. тут же получил 286 секунд (почти 17 раз). Для интереса попробовал все остальные методы. fdatasync,open_sync не запустился сервис fsync_writethrough 283 секунды. Итак выбор редакции: Код: plaintext 1. что и было в настройках по умолчанию. Закончу тесты на остальные параметры, которые я потрогал - опубликую "золотой" postgresql.conf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2007, 18:24 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
Советую ознакомиться. http://www.opennet.ru/docs/RUS/postgresql_tune/ Там кстати кой-чего сказано и про параметр который ты "соптимизировал" ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2007, 19:41 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
А как же моя вчерашняя задача. Первые опыты показали, что с моими успешными для инсерта настройками задача показывает в среднем 109 сек. В чем же разница? И тут я вспомнил, про: Thamerlancheckpoint_segments 3 имхо, маловато будет. Поставьте 16 хотя бы И действительно Код: plaintext привело к тому, что вчерашний рекорд был побит и среднее время выполнения задачи свелось к 66 секундам. Непонятно только одно, при значении 3 разброс по абсолютным значениям был от 79 до 115, а при 16 составил от 51 до 101 секунды. Впрочем я доволен и публикую последний вариант postgresql.conf Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2007, 19:47 |
|
||
|
Поигрался с postgresql.conf и теперь на INSERT получил замедление в 6 раз. Help me!
|
|||
|---|---|---|---|
|
#18+
ShweikСоветую ознакомиться. http://www.opennet.ru/docs/RUS/postgresql_tune/ Там кстати кой-чего сказано и про параметр который ты "соптимизировал" ;) Ну читать-то я ее читал, а сунулся оптимизировать после того как посмотрел здешний postgresql.conf Почесал я в затылке и подумал: "У них 16GB у меня 2GB". Короче, что касалось памяти поделил на 8. В общем - балда. Зато наука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.08.2007, 20:01 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34735252&tid=2005143]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
69ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 407ms |

| 0 / 0 |
