Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
от каких факторов может зависить скорость инсерта? возникла проблема: инсерт в таблицу (по статистике постгреса) занимает от 500 до 2000 милисекунд. убил функциональнвые индексы, оставил только жизненно необходимые простые - ситуация улучшилась но не на много. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:08 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Andrew Kornilovот каких факторов может зависить скорость инсерта? возникла проблема: инсерт в таблицу (по статистике постгреса) занимает от 500 до 2000 милисекунд. убил функциональнвые индексы, оставил только жизненно необходимые простые - ситуация улучшилась но не на много. ИМХО: 1. Дисковая подсистема 2. Форейн-кеи 3. Индексы 4. Триггера 5. Подсистема рулей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:12 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
причем данные вставляются само собой одинаковые по структуре. почему время плавает и от чего зависит не понятно. как дебагить не понятно тоже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:12 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
спасибо. да про форинкеи я забыл. они действительно есть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:14 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
А данные вставляете пачками, или по одной строке? У меня в таблица без индексов и прочего одна запись вставлялась за 80 милисекунд, а большой инсерт из 100 строк - за 100 мс Время вставки сильно прыгает из-за внутреннего устройства PostgreSQL, кэши, обслуживающие процессы и прочее. Тот же Insert мог занимать и секунду без видимых причин. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:19 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
по одному и "пачковать" не получится. данные вставляются с других (разных) хостов, каждый из которых имеет пконнект к базе. разве что пгпул умеет делать такой финт - делать пачку отложенных инсертов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:26 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Andrew Kornilovпо одному и "пачковать" не получится. данные вставляются с других (разных) хостов, каждый из которых имеет пконнект к базе. разве что пгпул умеет делать такой финт - делать пачку отложенных инсертов Тогда, вполне возможно, что просто дисковая не справляется. Каждый INSERT в отдельной транзакции и flash'ится на винт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2007, 16:29 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
можно отключить fsync и посмотреть как изменится ситуация... если резко сканет производительность - значит дело точно в дисках... есть еще мысли по разнесению логов транзакций, кластера базы и системы на разные винты.. какая сейчас у вас организацмя дисковой подсистемы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 21:20 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Andrew Kornilovспасибо. да про форинкеи я забыл. они действительно есть Если вставляешь в транзакции, то есть смысл поиграться с SET CONSTRAINTS ... DEFERRED http://www.postgresql.org/docs/8.2/static/sql-set-constraints.html В этом случае будет проверка в конце транзакции проводится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2007, 23:03 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
rteterможно отключить fsync и посмотреть как изменится ситуация... если резко сканет производительность - значит дело точно в дисках... есть еще мысли по разнесению логов транзакций, кластера базы и системы на разные винты.. какая сейчас у вас организацмя дисковой подсистемы ? да отключение фсинка сильно помогло ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2008, 17:49 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Andrew Kornilov Что помогло, это хорошо. Но тогда следите за питанием на серваке, а то внезапное отключение будет черевато потерями данных, т.к. fcync по сути есть отложенная запись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2008, 02:29 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
могу ли я отключить\включить fsync из приложения (на шарпе,но не так важно), на ходу? или для этого нужен перестарт сервера? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 10:36 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Winnipuh Говорит и рассказывает Документация! "This parameter can only be set in the postgresql.conf file or on the server command line. If you turn this parameter off, also consider turning off full_page_writes" - переводить надо ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 17:40 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
terrater Winnipuh Говорит и рассказывает Документация! "This parameter can only be set in the postgresql.conf file or on the server command line. If you turn this parameter off, also consider turning off full_page_writes" - переводить надо ? надо, это где? "on the server command line" в psql ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 18:54 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Попробуйте заменить инсерты на конструкцию вида Код: plaintext 1. 2. 3. 4. 5. 6. дока ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 19:09 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Winnipuh terrater Winnipuh Говорит и рассказывает Документация! "This parameter can only be set in the postgresql.conf file or on the server command line. If you turn this parameter off, also consider turning off full_page_writes" - переводить надо ? надо, это где? "on the server command line" в psql ? "on the server command line" - это значит, что параметр задается при запуске постгреса из консоли, т.е. при старте кластера БД. Если fsync меняется в конфиге, то надо делать pg_ctl reload, полный рестарт не нужен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2008, 19:21 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
terrater Andrew Kornilov Что помогло, это хорошо. Но тогда следите за питанием на серваке, а то внезапное отключение будет черевато потерями данных, т.к. fcync по сути есть отложенная запись. А журналируемая FS разве не поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 12:58 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Maxim Timofeyev terrater Andrew Kornilov Что помогло, это хорошо. Но тогда следите за питанием на серваке, а то внезапное отключение будет черевато потерями данных, т.к. fcync по сути есть отложенная запись. А журналируемая FS разве не поможет?имхо нет, ФС не знает какое из состояний файла является непротиворечивым с точки зрения СУБД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 14:08 |
|
||
|
оптимизация insert
|
|||
|---|---|---|---|
|
#18+
Ёш Maxim TimofeyevА журналируемая FS разве не поможет?имхо нет, ФС не знает какое из состояний файла является непротиворечивым с точки зрения СУБД Согласен, что не знает. Но у меня пока (тьфу-тьфу) небыло сбоя, а fsync всегда снимаю, т.к. уж больно тормозится работа с БД... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2008, 14:27 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=35033063&tid=2004734]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 253ms |
| total: | 431ms |

| 0 / 0 |
