|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Возник тут у меня вопрос: что может давать такие интересные результаты? Есть некая табличка (на самом деле таких несколько, но не суть). Очень маленькая. Скажем пара десятков тысяч записей. Но! iswrite'ы для нее показывают какие-то заоблачные цифры (десятки/сотни миллионов), при этом isdelete'ов нет, то есть версия "очереди" (пишем-обрабатываем-удаляем) не прокатывает (таблица, по своей сути - справочник). Что это может быть? И вообще: что значат isread, iswrite и isrewrite? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 13:40 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений Фадеев И вообще: что значат isread, iswrite и isrewrite? В свое время задавался таким же вопрос - вот что нарыл на просторах CDI. (Если я ошибусь, то пусть меня поправят.) isread - количество вызовов ISAM функций чтения (ISAM- индексно-последовательный метод доступа (в СУБД)) iswrite - количество вызовов ISAM функций записи (ISAM- индексно-последовательный метод доступа (в СУБД)). isrewrite - думаю, что количество вызовов функции перезаписи. (Операции iswrite, isrewrite и т.д. требуют операций isread) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 13:50 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Возможно это просто глюк. Для начала посмотри partnum этой таблицы в systables, и сравни числа с onstat -g ppf|grep partnum. А еще покажи-ка: oncheck -pT бд:таблица ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 13:53 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев Денис...onstat -g ppf|grep partnum. вспомнил можно просто onstat -g ppf partnum ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 14:20 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев Денис Журавлев Денис...onstat -g ppf|grep partnum. вспомнил можно просто onstat -g ppf partnumВ общем как-то так... Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 15:00 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
sysmasterisrewrite - думаю, что количество вызовов функции перезаписи. (Операции iswrite, isrewrite и т.д. требуют операций isread)Я ставил эксперименты, получилось примерно так: Один iswrite - это одна строка в результате INSERT'а. При этом isread не накручивается. На одну строку ("row affected") в результате UPDATE'а приходится один isread + еще один isread на весь UPDATE. С isdelete все просто: одна строка удалена - значение увеличилось на 1 (что при этом с isread'ами уже не помню, по-моему как у UPDATE'ов). Вот и сижу в раздумьях... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 15:45 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3.
попробуй утром все обнулить onstat -z, а вечером посмотреть числа? И oncheck -pT покажи? Есть еще inplace alter, может iswrt select-ми накручивается. Хотя тогда любой селект всей этой таблицы будет увеличивать (а это проверить легко). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 15:52 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев Денисэто за какой период? попробуй утром все обнулить onstat -z, а вечером посмотреть числа? И oncheck -pT покажи? Есть еще inplace alter, может iswrt select-ми накручивается. Хотя тогда любой селект всей этой таблицы будет увеличивать (а это проверить легко).Это за 3 дня. Что такое inplace alter я не знаю. Как "iswrt select-ми накручивается" я не очень понимаю :(( oncheck -pT выдает следующее Код: 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. 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 16:22 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений ФадеевЧто такое inplace alter я не знаю. http://groups.google.com.ua/group/ukr.comp.dbms.informix/msg/197a57b195835a86?hl=ru& Евгений Фадеев Как "iswrt select-ми накручивается" я не очень понимаю :(( Я просто предположил что может быть такое возможно, но возможно это не так. Попробуй сделай select * from into temp ttt; и посмотри увеличится iswrt или нет, хотя на работающей системе с кучей пользователей так не проверить. Евгений Фадеев oncheck -pT выдает следующее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 16:45 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев Денис Евгений ФадеевЧто такое inplace alter я не знаю. http://groups.google.com.ua/group/ukr.comp.dbms.informix/msg/197a57b195835a86?hl=ru& Спасибо, почитаю. Журавлев ДенисЯ просто предположил что может быть такое возможно, но возможно это не так. Попробуй сделай select * from into temp ttt; и посмотри увеличится iswrt или нет, хотя на работающей системе с кучей пользователей так не проверить.Да, проверить сложно, но я, пожалуй, попробую (поищу свободный сервачок). Журавлев Денис Евгений Фадеев oncheck -pT выдает следующее Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 17:25 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений ФадеевДа, проверить сложно, но я, пожалуй, попробую (поищу свободный сервачок). На другом не проверить. Там ситуация с версиями будет другая. Евгений Фадеев А вот здесь не понял совсем... Что это за версии и что куда конвертируется? Я совсем не админ, поэтому могу задавать довольно дурацкие вопросы. Но у меня реальная проблема и я очень хочу в ней разобраться. Буду признателен за любую помощь.По сцылке групсгугель сходи прочитай, там Василий на пальцах мне разъяснял, я тоже не знал. Проблема-то какая? iswrt большое? Так это вроде не проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 17:36 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев ДенисПроблема-то какая? iswrt большое? Так это вроде не проблема.В общем - да. Не скажу что это проблема (то есть не парят цифры), но это непорядок (парит тот факт, что непонятно почему они такие). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2007, 18:28 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев ДенисПо сцылке групсгугель сходи прочитай, там Василий на пальцах мне разъяснял, я тоже не знал. Мда, Гугль сильная вещь, уже сколько лет, как UDCI умерла, а инфа все живет :) Даже сам сходил, почитал, и что интересно - совсем не помню, чтобы я это писал (хотя такое я уже много раз встречал - склероз, блин :) Вот так напишешь какую то глупость (данного случая не касается в отношении in-place alter table), а потом еще много лет другие читать будут... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2007, 13:52 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев ДенисЯ просто предположил что может быть такое возможно, но возможно это не так. Попробуй сделай select * from into temp ttt; и посмотри увеличится iswrt или нет, хотя на работающей системе с кучей пользователей так не проверить.... Т.е. 8852 страницы при каждом обращении конвертируются в пятую версию. Страницы старых версий будут конвертироваться и перезаписываться на диске только при реальных операциях записи, т.е. когда на странице изменен хотя бы один байт. При чтении информации из страниц старых версий сервер сам достраивает недостающую информацию из описания таблицы, возможно, что при этом создается некая временная страница уже новой версии в памяти, для формирования которой, возможно, и будут использоваться iswrt. Другое дело, что в данной таблице есть remainder page (что увеличивает, как минимум, вдвое все операции на каждую строку) и есть индексы с 8-ю уровнями (скажу честно, ранее, я таких не видел :), да еще и на такой маленькой табличке). Почему бы не построить индекс по сокращенному названию ? Будет явно эффективнее... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 13:38 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
vasilis строку) и есть индексы с 8-ю уровнями (скажу честно, ранее, я таких не видел :), да еще и на такой маленькой табличке). Почему бы не построить индекс по сокращенному названию ? Будет явно эффективнее...Таблица вообще чудесная кол-во страниц почти равно кол-ву строк Maximum row size 4075 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 14:00 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев Денис vasilis строку) и есть индексы с 8-ю уровнями (скажу честно, ранее, я таких не видел :), да еще и на такой маленькой табличке). Почему бы не построить индекс по сокращенному названию ? Будет явно эффективнее...Таблица вообще чудесная кол-во страниц почти равно кол-ву строк Maximum row size 4075Таблица просто ужасна. Из соображений деликатности я не привожу здесь DDL. Там просто МАМАДОРОГАЯ!!! Но это доставшееся мне наследство. Оно сейчас будет кардинально рефакториться, но пока оно такое. И меня оно анноит :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 15:55 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
vasilisДругое дело, что в данной таблице есть remainder page (что увеличивает, как минимум, вдвое все операции на каждую строку) и есть индексы с 8-ю уровнями (скажу честно, ранее, я таких не видел :), да еще и на такой маленькой табличке). Почему бы не построить индекс по сокращенному названию ? Будет явно эффективнее...Пара вопросов/замечаний: 1. Что такое remainder page и как с ним бороться? 2. Такие уровни индексов, вероятно, имеют место из за того, что они построены на поля с типом NCHAR(250). Похоже? 3. Индекс по короткому имени вообще смысла лишен (в силу специфики заполнения там селективность будет практически нулевая)... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 16:23 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений Фадеев vasilisДругое дело, что в данной таблице есть remainder page (что увеличивает, как минимум, вдвое все операции на каждую строку) и есть индексы с 8-ю уровнями (скажу честно, ранее, я таких не видел :), да еще и на такой маленькой табличке). Почему бы не построить индекс по сокращенному названию ? Будет явно эффективнее...Пара вопросов/замечаний: 1. Что такое remainder page и как с ним бороться? Строка, которая не помещается на одну физическую страницу, переносится на страницу специального типа (страница остатков). Проблема в том, что на этой странице ничего больше разместиться не может, даже если там занято всего несколько байт. Естественно, это зря расходует место на диск и в буф.пуле, увеличивает кол-во операций вв/выв да и логика обработки таких строк существенно изменяется... Бороться можно несколькими способа: - редизайн БД, чтобы убрать такие длинные строки (может там столько и не надо, просто при первичном дизайне "застолбили с запасом") или вертикальное разбиение таблицы (далеко не все данные той же строки (атрибуты) с описанием компании нужны в обычной работе приложения, а "таскать" и обрабатывать приходится всю строку). - в IDS 10 можно создавать ДБ-пространства со своим размером страницы, так же, как и буферный пул. Довольно эффективно для таблиц с большими строками или пакетной обработкой строк (т.е. записи читаются не по одной через индекс) - можно и не бороться, если скорость и размеры устраивают :) Евгений Фадеев2. Такие уровни индексов, вероятно, имеют место из за того, что они построены на поля с типом NCHAR(250). Похоже? Да, т.к. для varchar все равно ключ выделяется по максимальному размеру, хотя реально он может быть и несколько байт. Евгений Фадеев3. Индекс по короткому имени вообще смысла лишен (в силу специфики заполнения там селективность будет практически нулевая)... Имеется ввиду, не сократить автоматом поле до 10 байт, а ввести новый атрибут "сокращенное название", которое можно формировать как автоматически на основании полного имени так и заставлять пользователя его вводить при заполнении. Это должно быть поле фиксированной длины и не более 40-50 байт. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 16:52 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
vasilis Евгений Фадеев1. Что такое remainder page и как с ним бороться? Строка, которая не помещается на одну физическую страницу, переносится на страницу специального типа (страница остатков). Проблема в том, что на этой странице ничего больше разместиться не может, даже если там занято всего несколько байт. Естественно, это зря расходует место на диск и в буф.пуле, увеличивает кол-во операций вв/выв да и логика обработки таких строк существенно изменяется... Бороться можно несколькими способа: - редизайн БД, чтобы убрать такие длинные строки (может там столько и не надо, просто при первичном дизайне "застолбили с запасом") или вертикальное разбиение таблицы (далеко не все данные той же строки (атрибуты) с описанием компании нужны в обычной работе приложения, а "таскать" и обрабатывать приходится всю строку).Этот процесс - в процессе :)) vasilis- в IDS 10 можно создавать ДБ-пространства со своим размером страницы, так же, как и буферный пул. Довольно эффективно для таблиц с большими строками или пакетной обработкой строк (т.е. записи читаются не по одной через индекс)У нас 9.4, так что это не наш вариант. Да и не админ я... vasilis- можно и не бороться, если скорость и размеры устраивают :)Не устраивают. См.выше :) vasilis Евгений Фадеев3. Индекс по короткому имени вообще смысла лишен (в силу специфики заполнения там селективность будет практически нулевая)... Имеется ввиду, не сократить автоматом поле до 10 байт, а ввести новый атрибут "сокращенное название", которое можно формировать как автоматически на основании полного имени так и заставлять пользователя его вводить при заполнении. Это должно быть поле фиксированной длины и не более 40-50 байт.Это я понял. Оно такое и есть. Только на него, судя по всему, положили с прибором. То есть заполнено существенно меньше 1%. Потому и про селективность сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2007, 17:01 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
В общем вопрос всплыл снова, хотя формулировка слегка поменялась. Итак: есть некая таблица (совсем маленькая, порядка 250 записей). На ней имеется индекс (на котором базируется первичный ключ). Таблицу довольно много читают (чуть меньше чем за сутки порядка 1 млрд. ISAM reads по индексу и 400 млн. по самой таблице). В нее ГАРАНТИРОВАНО никто ничего не пишет и из нее не удаляет (это статичный справочник). При этом счетчик ISAM deletes действительно равен 0 (и для Page writes это тоже справедливо). А вот счетчик ISAM writes за это время, увеличился до, внимание, 360 млн. по таблице и 220 млн. по индексу!!! Таких таблиц есть еще несколько штук (примерно десяток-другой), но цифры там поскромнее (десятки-единицы млн. ISAM writes). Я совершенно не понимаю что происходит. Но это явно ненормально. Сервер 11.50FC2, если это важно (в чем я сомневаюсь, потому что на 9.40 было точно также). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2009, 11:49 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений Фадеев Итак: есть некая таблица (совсем маленькая, порядка 250 записей). На ней имеется индекс (на котором базируется первичный ключ). . Выполни update mytable set pk=pk , после этого снова помониторь. ----------------------------------------------------------------------------------------------------------------------------------------- КАК УПРАВЛЯТЬ ПЛАНЕТОЙ НЕЗАМЕТНО ДЛЯ САНИТАРОВ .... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2009, 11:53 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений ФадеевВ общем вопрос всплыл снова, хотя формулировка слегка поменялась. Итак: есть некая таблица (совсем маленькая, порядка 250 записей). На ней имеется индекс (на котором базируется первичный ключ). Таблицу довольно много читают (чуть меньше чем за сутки порядка 1 млрд. ISAM reads по индексу и 400 млн. по самой таблице). В нее ГАРАНТИРОВАНО никто ничего не пишет и из нее не удаляет (это статичный справочник). При этом счетчик ISAM deletes действительно равен 0 (и для Page writes это тоже справедливо). А вот счетчик ISAM writes за это время, увеличился до, внимание, 360 млн. по таблице и 220 млн. по индексу!!! Таких таблиц есть еще несколько штук (примерно десяток-другой), но цифры там поскромнее (десятки-единицы млн. ISAM writes). Я совершенно не понимаю что происходит. Но это явно ненормально. Сервер 11.50FC2, если это важно (в чем я сомневаюсь, потому что на 9.40 было точно также). Может я глупость скажу( спрошу) не судите строго это просто идея, А FK часто изменяются, добавляются , удаляются? Может ли такое быть, что изменение( добавление, удаление) FK приводит если не к явной записи , а ( или ) к вызову функций которые накручивают счетчики на PK и(или) соответствующих ему(РК) полях таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2009, 13:26 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Журавлев ДенисЕвгений Фадеев Итак: есть некая таблица (совсем маленькая, порядка 250 записей). На ней имеется индекс (на котором базируется первичный ключ). . Выполни update mytable set pk=pk , после этого снова помониторь. ....Если речь про версии, то на этой таблице они, таки, есть (хотя все страницы находятся в последней из трех, так что UPDATE ничего, в этом смысле, не изменит). Но у меня есть другие таблицы, две из которых позавчера я просто пересоздал (в итоге одна версия, один экстент - крутизна невероятная). Но проблема все равно есть (хотя и не сотни, но десятки млн. ISAM writes, но их и до пересоздания было столько же). Так что эта версия отпадает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2009, 13:46 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
onstat-А FK часто изменяются, добавляются , удаляются? Может ли такое быть, что изменение( добавление, удаление) FK приводит если не к явной записи , а ( или ) к вызову функций которые накручивают счетчики на PK и(или) соответствующих ему(РК) полях таблицы?Сами по себе ключи (констрейнты) в этом временн о м окне не создаются в принципе (система работает - никто ничего не меняет). В таблицах, для которых эта является мастером тоже такого количества записей нет и в помине (если я правильно понял предположение - что накрутку счетчиков может давать проверка внешних ключей). Хотя тут уверенность процентов на 99.9 (теоретически могут создаваться ключи во временных таблицах, это я попробую проверить, но вероятность исчезающе мала). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2009, 13:52 |
|
Вопрос про sysmaster:sysptprof
|
|||
---|---|---|---|
#18+
Евгений ФадеевЕсли речь про версии, то на этой таблице они, таки, есть (хотя все страницы находятся в последней из трех, так что UPDATE ничего, в этом смысле, не изменит). Но у меня есть другие таблицы, две из которых позавчера я просто пересоздал (в итоге одна версия, один экстент - крутизна невероятная). Но проблема все равно есть (хотя и не сотни, но десятки млн. ISAM writes, но их и до пересоздания было столько же). Так что эта версия отпадает.Тогда не знаю. Какая-то особенность у этих таблиц значит, ширина большая, или там 10 полей в первичном ключе, или поля с каким-нибудь типом char(32000). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2009, 10:57 |
|
|
start [/forum/topic.php?fid=44&msg=35782197&tid=1607905]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 160ms |
0 / 0 |