|
Медленный COPY
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть таблица: Код: plsql 1. 2. 3. 4. 5. 6. 7.
База данных чистая. Т.е. без индексов, без триггеров и т.п. Вставляю 1000 записей примерно так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9.
В логах это: автор2018-11-23 17:43:47.085 MSK [7700] СООБЩЕНИЕ: оператор: BEGIN ISOLATION LEVEL READ COMMITTED READ WRITE 2018-11-23 17:43:47.085 MSK [7700] СООБЩЕНИЕ: оператор: COPY "ParamValueBlock" ("ParameterId", "DeviceId", "CompressedData", "StartDate", "UncompressedDataBits") FROM STDIN 2018-11-23 17:43:54.020 MSK [7700] СООБЩЕНИЕ: оператор: COMMIT Весь день пытался найти причину того, что 1000 записей вставляются 7! секунд Помогите пожалуйста ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 18:14 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
GLeBaTi, потестируйте тоже самое без "CompressedData" для начала... если станет сильно быстрее - смотрите на размер этого поля у вас... вы по сети тестируете или локально? какой диск на базе? может не хватать или диска или сети если вы большие обьемы данных туда суете. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 20:54 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Maxim Bogukпотестируйте тоже самое без "UncompressedDataBits" для начала... CompressedData видимо, который bytea. UncompressedDataBits - int4 и вряд ли даст проблему. ну и интересно было бы log_min_duration_statement = 0 добавить, чтобы было видно, что тупит не приложение перед отправкой коммита. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 21:02 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
GLeBaTi, Если версия PG>10, то посмотрите во время выполнения наpg_stat_activity.wait, pg_stat_activity.wait_event, хотя бы будет понятно на каких ожиданиях висит запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 21:34 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Maxim BogukGLeBaTi, потестируйте тоже самое без "CompressedData" для начала... если станет сильно быстрее - смотрите на размер этого поля у вас... вы по сети тестируете или локально? какой диск на базе? может не хватать или диска или сети если вы большие обьемы данных туда суете. Без CompressedData моментально сохраняется. Размер поля примерно 28КБ Тестирую локально. На базе диск HDD если это имеется ввиду. Места на HDD ещё много ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 11:02 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
MelkijMaxim Bogukпотестируйте тоже самое без "UncompressedDataBits" для начала... CompressedData видимо, который bytea. UncompressedDataBits - int4 и вряд ли даст проблему. ну и интересно было бы log_min_duration_statement = 0 добавить, чтобы было видно, что тупит не приложение перед отправкой коммита. автор2018-11-26 10:54:15.698 MSK [9028] СООБЩЕНИЕ: оператор: COPY "ParamValueBlock" ("ParameterId", "DeviceId", "CompressedData", "StartDate", "UncompressedDataBits") FROM STDIN; 2018-11-26 10:54:22.941 MSK [9028] СООБЩЕНИЕ: продолжительность: 7243.325 мс ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 11:03 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
gav21, висит как-раз на "COPY "ParamValueBlock" ("ParameterId", "DeviceId", "CompressedData", "StartDate", "UncompressedDataBits") FROM STDIN;" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 11:04 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Думаю, может на файлы обычные перейти. Менять их не нужно, только считывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 11:36 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Что-то я не понимаю: 2018-11-23 17:43:47 COPY .... STDIN 2018-11-23 17:43:54 COMMIT 54-47 = 7 секунд 7 секунд на 1000 записей X размер поля примерно 28КБ = 28 Мегабайт - на мой взгляд более-менее нормально ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 15:23 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, если я делаю те-же данные через Код: plsql 1.
, то операция выполняется за 0.7 секунд. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 15:37 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
GLeBaTi, Разве это не похоже на то, что приложение в STDIN медленно отдает, а не COPY долго загружает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 15:47 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Павел Лузанов, хорошо, у гошников поспрашиваю пока) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 15:50 |
|
Медленный COPY
|
|||
---|---|---|---|
#18+
Если кому интересно, это был баг стандартного драйвера golang для pg: https://github.com/lib/pq/pull/784 Решение: https://stackoverflow.com/a/53515774/273455 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 12:11 |
|
|
start [/forum/topic.php?fid=53&msg=39737675&tid=1995476]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 151ms |
0 / 0 |