powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с insert/update
25 сообщений из 31, страница 1 из 2
Проблемы с insert/update
    #40136116
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!

Помогите разгадать загадку:
Intel Xeon E5 2690, работает без турбобуста. т.е. на 2.9Ггц
Память 1600 Мгц, 50гб...
ОС: CentOS 7
ФС: ext4
Диски SАTA SSD в RAID 10, с кешем в режиме writeback...
Версия pg 12.8
Основное назначение это богомерзкий 1С :), не в этом суть...

временные таблицы вынесены на tmpfs в оперативку
pg_stat там же...
Размер баз позволяет их держать в памяти, и на диски создается только нагрузка от чекпоинтов... т.е. диски не нагружены совсем...

Конфиг настроен под 1С, настройки кручены всякие и по всякому... в итоге:

max_connections = 500
shared_buffers = 15GB
temp_buffers = 128MB
work_mem = 256MB
maintenance_work_mem = 2GB
vacuum_cost_limit = 400
bgwriter_delay = 50ms
bgwriter_lru_maxpages = 500
bgwriter_lru_multiplier = 4.0
effective_io_concurrency = 200
synchronous_commit = off
wal_buffers = 16MB
wal_writer_delay = 1000ms
commit_delay = 1000
commit_siblings = 5
checkpoint_timeout = 5min
min_wal_size = 2GB
max_wal_size = 4GB
seq_page_cost = 0.1
random_page_cost = 0.1
cpu_tuple_cost = 0.01
cpu_index_tuple_cost = 0.05
cpu_operator_cost = 0.025
jit_above_cost = -1
effective_cache_size = 25GB
default_statistics_target = 1000
cursor_tuple_fraction = 0.5
autovacuum = on

Результат PGBench на абсолютно свободном сервере, выполняется только pgbench, удручает...

Код: powershell
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.
-bash-4.2$ /usr/pgsql-12/bin/pgbench --client=4 --time=100 --protocol=prepared --vacuum-all --report-latencies pgbench
starting vacuum...end.
starting vacuum pgbench_accounts...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 1
query mode: prepared
number of clients: 4
number of threads: 1
duration: 100 s
number of transactions actually processed: 482645
latency average = 0.829 ms
tps = 4826.419872 (including connections establishing)
tps = 4826.537068 (excluding connections establishing)
statement latencies in milliseconds:
         0.001  \set aid random(1, 100000 * :scale)
         0.001  \set bid random(1, 1 * :scale)
         0.001  \set tid random(1, 10 * :scale)
         0.001  \set delta random(-5000, 5000)
         0.061  BEGIN;
         0.096  UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
         0.085  SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
         0.140  UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
         0.270  UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
         0.082  INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
         0.088  END;


Под нагрузкой, хоть минимальной, tps может проседать до 1500, и latency до 2.5 мс

Использование ЦП процессами в момент выполнения теста, 60-80%, запись на диски 70-80КБ..., если оставить shared_bufers в минимуме, тогда запись на диски 7-8 МБ, от каждого процесса... на результат это не влияет...

Ни какие настройки особого воздействия на pgbench более не оказывают.

Естественно, при такой ситуации тормоза при записи в базы бесящие... Люди работают, но так быть не должно...
Все операции выполняются в памяти, поему могут быть такие тормоза?

Что еще можно копнуть?
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136121
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот результат того же теста только параллельно с выполнением гилева:
Код: powershell
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.
-bash-4.2$ /usr/pgsql-12/bin/pgbench --client=4 --time=100 --protocol=prepared --vacuum-all --report-latencies pgbench
starting vacuum...end.
starting vacuum pgbench_accounts...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 1
query mode: prepared
number of clients: 4
number of threads: 1
duration: 100 s
number of transactions actually processed: 143766
latency average = 2.782 ms
tps = 1437.590734 (including connections establishing)
tps = 1437.641182 (excluding connections establishing)
statement latencies in milliseconds:
         0.002  \set aid random(1, 100000 * :scale)
         0.001  \set bid random(1, 1 * :scale)
         0.001  \set tid random(1, 10 * :scale)
         0.001  \set delta random(-5000, 5000)
         0.084  BEGIN;
         0.138  UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
         0.116  SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
         0.656  UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
         1.555  UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
         0.113  INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
         0.113  END;
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136146
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
astbur,

Для начала отключите commit_delay (=0) и перетестируйте.

Остальное более менее ок...
Так же можно поднять checkpoint_timeout до 60min и max_wal_size в 16GB (но это уже вторично).

Если не поможет - будем дальше смотреть, там за дисковой утилизацией и latency на запись смотреть надо.

PS: второй вариант - у вас ssd диски не очень удачные для базы. (оно как раз будет по latency видно на записи)... iostat -xmd 1 во время теста посмотреть можно.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136148
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Любые изменения пишутся в wal.

Замерьте до pgbench и после
Код: sql
1.
2.
select * from pg_stat_bgwriter \gx
SELECT pg_current_wal_lsn(),pg_current_wal_insert_lsn();



и эти настройки покажите
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select name,setting,unit,context 
from pg_settings 
where name in ('checkpoint_timeout'
            ,'checkpoint_completion_target'
            ,'max_wal_size'
            ,'bgwriter_delay'
            ,'bgwriter_flush_after'
            ,'bgwriter_lru_maxpages'
            ,'bgwriter_lru_multiplier'
            ,'full_page_writes') 
order by name;
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136150
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,

iostat с commit_delay = 0
Код: powershell
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.
Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               5,32     6,11 2088,43  691,75    10,26     4,88    11,15     5,68    2,04    1,86    2,61   0,06  16,73

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00    24,00    0,00   10,00     0,00     2,00   410,40     0,00    0,20    0,00    0,20   0,10   0,10

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00   18,00     0,00     7,89   897,78     0,04    2,17    0,00    2,17   0,39   0,70

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    7,00     0,00     1,83   534,86     0,00    0,43    0,00    0,43   0,43   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    4,00     0,00     0,91   468,00     0,00    0,25    0,00    0,25   0,25   0,10

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    5,00     0,00     1,72   704,00     0,00    0,60    0,00    0,60   0,60   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00    25,00    0,00    7,00     0,00     1,48   433,14     0,00    0,29    0,00    0,29   0,29   0,20

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00    17,00    0,00   12,00     0,00     1,57   268,67     0,06    4,75    0,00    4,75   4,67   5,60

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    5,00     0,00     1,37   560,00     0,00    0,20    0,00    0,20   0,20   0,10

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    6,00     0,00     1,77   602,67     0,00    0,00    0,00    0,00   0,00   0,00

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    7,00     0,00     2,04   597,71     0,01    0,71    0,00    0,71   0,43   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    6,00     0,00     1,73   589,33     0,00    0,83    0,00    0,83   0,50   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00    42,00    0,00   14,00     0,00     2,38   348,57     0,00    0,29    0,00    0,29   0,21   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    8,00     0,00     1,98   506,00     0,01    0,62    0,00    0,62   0,38   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    9,00     0,00     2,59   588,44     0,01    0,67    0,00    0,67   0,56   0,50

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    4,00     0,00     1,36   696,00     0,00    0,50    0,00    0,50   0,25   0,10

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    8,00     0,00     2,31   592,00     0,00    0,50    0,00    0,50   0,38   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00    11,00    0,00    8,00     0,00     1,52   389,00     0,00    0,25    0,00    0,25   0,25   0,20

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    6,00     0,00     1,89   645,33     0,00    0,67    0,00    0,67   0,50   0,30

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0,00     0,00    0,00    8,00     0,00     2,41   616,00     0,00    0,38    0,00    0,38   0,25   0,20



Но он в общем-то всегда такой...

И вот результат теста:
Код: powershell
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.
/usr/pgsql-12/bin/pgbench --client=4 --time=100 --protocol=prepared --vacuum-all --report-latencies pgbench
starting vacuum...end.
starting vacuum pgbench_accounts...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 1
query mode: prepared
number of clients: 4
number of threads: 1
duration: 100 s
number of transactions actually processed: 420822
latency average = 0.951 ms
tps = 4208.009291 (including connections establishing)
tps = 4208.113268 (excluding connections establishing)
statement latencies in milliseconds:
         0.002  \set aid random(1, 100000 * :scale)
         0.001  \set bid random(1, 1 * :scale)
         0.001  \set tid random(1, 10 * :scale)
         0.001  \set delta random(-5000, 5000)
         0.076  BEGIN;
         0.112  UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
         0.096  SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
         0.167  UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
         0.300  UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
         0.095  INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
         0.098  END;


Так же без особых изменений...

Чекпоинт и размер лога так же не влияют, ибо запись на диск в даннмо случае минимальная...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136151
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya,

Тут всё ввыглядит последовательно, всё идет по таймаутам, я так понимаю.. варнингов в логах тоже нет...
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
postgres=# select * from pg_stat_bgwriter \gx
-[ RECORD 1 ]---------+------------------------------
checkpoints_timed     | 7044
checkpoints_req       | 38
checkpoint_write_time | 1384790900
checkpoint_sync_time  | 75318
buffers_checkpoint    | 80280630
buffers_clean         | 2504763
maxwritten_clean      | 1189
buffers_backend       | 24011952
buffers_backend_fsync | 0
buffers_alloc         | 271810135
stats_reset           | 2022-01-30 11:44:09.649271+10



Код: powershell
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.
postgres=# SELECT pg_current_wal_lsn(),pg_current_wal_insert_lsn();
 pg_current_wal_lsn | pg_current_wal_insert_lsn
--------------------+---------------------------
 866/15046000       | 866/15047000
(1 строка)

postgres=# select name,setting,unit,context
postgres-# from pg_settings
postgres-# where name in ('checkpoint_timeout'
postgres(#             ,'checkpoint_completion_target'
postgres(#             ,'max_wal_size'
postgres(#             ,'bgwriter_delay'
postgres(#             ,'bgwriter_flush_after'
postgres(#             ,'bgwriter_lru_maxpages'
postgres(#             ,'bgwriter_lru_multiplier'
postgres(#             ,'full_page_writes')
postgres-# order by name;
             name             | setting | unit | context
------------------------------+---------+------+---------
 bgwriter_delay               | 50      | ms   | sighup
 bgwriter_flush_after         | 64      | 8kB  | sighup
 bgwriter_lru_maxpages        | 500     |      | sighup
 bgwriter_lru_multiplier      | 4       |      | sighup
 checkpoint_completion_target | 0.8     |      | sighup
 checkpoint_timeout           | 300     | s    | sighup
 full_page_writes             | on      |      | sighup
 max_wal_size                 | 4096    | MB   | sighup
(8 строк)

postgres=#
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136152
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Только сейчас увидел: bgwriter_flush_after не мало-ли?

Ну и забыл - вы в целях теста базу пгбенч вынес на рамдиск, не изменилось ничего...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136153
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал поиграть с bgwriter_flush_after, не влияет ни на что, просто bgwriter стал постоянно писать на диск...

Вывод райтера после 2х пгбенчей
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
postgres=# select * from pg_stat_bgwriter \gx
-[ RECORD 1 ]---------+------------------------------
checkpoints_timed     | 7046
checkpoints_req       | 38
checkpoint_write_time | 1385060028
checkpoint_sync_time  | 75322
buffers_checkpoint    | 80292978
buffers_clean         | 2504763
maxwritten_clean      | 1189
buffers_backend       | 24017483
buffers_backend_fsync | 0
buffers_alloc         | 271816050
stats_reset           | 2022-01-30 11:44:09.649271+10
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136155
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pg_wal тоже переносил для теста на рамдиск, ничего не поменялось от слова совсем....
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136156
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
предлагаю
bgwriter_lru_maxpages = 7000
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136157
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya,

ничего не дало...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136164
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Покажите, что pgbench дб

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
select 
    (schemaname||'.'||relname) as name
    ,pg_relation_size(schemaname||'.'||relname) as size
    ,pg_size_pretty(pg_relation_size(schemaname||'.'||relname)) as p_size
    ,pg_size_pretty(pg_total_relation_size(schemaname||'.'||relname)) as total_size
    ,pg_size_pretty(pg_indexes_size(schemaname||'.'||relname)) as i_size
    ,n_live_tup
    ,n_dead_tup
    ,trunc(n_dead_tup/(n_live_tup*0.01),2) as k
    ,last_autovacuum 
    ,last_autoanalyze
    ,(select relname from pg_class c where c.oid=(select cc.reltoastrelid from pg_class cc where  cc.relname=t.relname)) as toast
from pg_stat_all_tables t 
where 
    schemaname not in('pg_catalog','information_schema') 
    and n_live_tup > 0 
order by size desc,k ;
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136165
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya,

Код: powershell
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.
pgbench=# select
pgbench-#     (schemaname||'.'||relname) as name
pgbench-#     ,pg_relation_size(schemaname||'.'||relname) as size
pgbench-#     ,pg_size_pretty(pg_relation_size(schemaname||'.'||relname)) as p_size
pgbench-#     ,pg_size_pretty(pg_total_relation_size(schemaname||'.'||relname)) as total_size
pgbench-#     ,pg_size_pretty(pg_indexes_size(schemaname||'.'||relname)) as i_size
pgbench-#     ,n_live_tup
pgbench-#     ,n_dead_tup
pgbench-#     ,trunc(n_dead_tup/(n_live_tup*0.01),2) as k
pgbench-#     ,last_autovacuum
pgbench-#     ,last_autoanalyze
pgbench-#     ,(select relname from pg_class c where c.oid=(select cc.reltoastrelid from pg_class cc where  cc.relname=t.relname)) as toast
pgbench-# from pg_stat_all_tables t
pgbench-# where
pgbench-#     schemaname not in('pg_catalog','information_schema')
pgbench-#     and n_live_tup > 0
pgbench-# order by size desc,k ;
          name           |   size   | p_size | total_size | i_size  | n_live_tup | n_dead_tup |   k   |        last_autovacuum        |       last_autoanalyze        | toast
-------------------------+----------+--------+------------+---------+------------+------------+-------+-------------------------------+-------------------------------+-------
 public.pgbench_accounts | 29835264 | 28 MB  | 33 MB      | 4408 kB |     100000 |          0 |  0.00 | 2022-02-24 03:38:09.103838+10 | 2022-02-24 03:38:09.204579+10 |
 public.pgbench_history  | 23838720 | 23 MB  | 23 MB      | 0 bytes |     455502 |          0 |  0.00 |                               | 2022-02-24 03:38:09.692567+10 |
 pg_toast.pg_toast_2618  |   475136 | 464 kB | 512 kB     | 16 kB   |        249 |          0 |  0.00 |                               |                               |
 pg_toast.pg_toast_2619  |   319488 | 312 kB | 360 kB     | 16 kB   |        107 |         48 | 44.85 | 2022-02-24 03:37:58.733905+10 |                               |
 public.pgbench_branches |    73728 | 72 kB  | 160 kB     | 56 kB   |          1 |          0 |  0.00 | 2022-02-24 03:38:09.770839+10 | 2022-02-24 03:38:09.771256+10 |
 public.pgbench_tellers  |    73728 | 72 kB  | 200 kB     | 96 kB   |         10 |          0 |  0.00 | 2022-02-24 03:38:09.812548+10 | 2022-02-24 03:38:09.821004+10 |
(6 строк)
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136166
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин... 4 утра!!
Спасибо откликнувшимся )
Я пойду спать, завтра продолжу :)
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136172
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
astbur
Блин... 4 утра!!
Спасибо откликнувшимся )
Я пойду спать, завтра продолжу :)


У меня на достаточно слабом ноуте получается
Код: plaintext
1.
2.
latency average = 1.624 ms
tps = 6927.326551 (without initial connection time)
на где то тех же настройках.

Сколько ядер на вашем процессоре (физических без учёта hyperthreading)?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136184
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может это виртуалка, а не железный сервер. И там гипервизар глючит.
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136191
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще предлагаю в один поток посмотреть.
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136207
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Guzya,

Тут в точку, это ESXI, его уже тоже перетрес, вроде всё выглядит хорошо, остальные виртуалки работают не чихают, перегруза ни по ядрам ни по оперативке нет, превышений тоже нет...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136214
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
astbur
Guzya,

Тут в точку, это ESXI, его уже тоже перетрес, вроде всё выглядит хорошо, остальные виртуалки работают не чихают, перегруза ни по ядрам ни по оперативке нет, превышений тоже нет...


Сделайте резервацию ресурсов проца и памяти для этой виртуалки(бывали такие проблемы).
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136217
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guzya
astbur
Guzya,

Тут в точку, это ESXI, его уже тоже перетрес, вроде всё выглядит хорошо, остальные виртуалки работают не чихают, перегруза ни по ядрам ни по оперативке нет, превышений тоже нет...


Сделайте резервацию ресурсов проца и памяти для этой виртуалки(бывали такие проблемы).


А покажите вывод top -i во время теста где то в серединке из виртуалки.
PS: а сколько вы ядер то выделили ей?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136252
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И так, всем снова здравствуйте! :)

Резервацию ресурсов делал в первую очередь, никакого результата не дало, top -i ничего полезгого не показывал, ибо вывода вообще какого-либо небыло...
А теперь самое интересное! Сделал неочевидную вещь, снизил shared_buffer до 400MB, и получил следующую картину:
Код: powershell
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.
-bash-4.2$ /usr/pgsql-12/bin/pgbench --client=8 --time=100 --protocol=prepared --vacuum-all --report-latencies pgbench
starting vacuum...end.
starting vacuum pgbench_accounts...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 100
query mode: prepared
number of clients: 8
number of threads: 1
duration: 100 s
number of transactions actually processed: 769000
latency average = 1.040 ms
tps = 7689.947129 (including connections establishing)
tps = 7690.156931 (excluding connections establishing)
statement latencies in milliseconds:
         0.001  \set aid random(1, 100000 * :scale)
         0.001  \set bid random(1, 1 * :scale)
         0.001  \set tid random(1, 10 * :scale)
         0.001  \set delta random(-5000, 5000)
         0.100  BEGIN;
         0.191  UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
         0.131  SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
         0.160  UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
         0.185  UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
         0.137  INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
         0.119  END;


И это при вялотекущей работе пользователей на сервере, в пустом состоянии было 8042 tps

Помимо этого, наконец появилась высокая активность walwriter на запись, до 80MB/s

Вопрос - где логика? :D
Считать ли этот показатель нормальным для моей конфигурации... Гилев, кстати, показывает все равно 21-22 попугая... как и было до этого...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136253
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запустил УТ 11.5, под которую это все, собственно, и затеяно было, попроводил доки, вроде как даже пошустрее стало...
Завтра под нагрузкой будет видно...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136257
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
astbur
Вопрос - где логика? :D

astbur

number of clients: 8
...
tps = 7689.947129 (including connections establishing)

astbur
number of clients: 4
...
tps = 4826.419872 (including connections establishing)

Действительно непонятно (сарказм).
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136258
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Melkij,

Балин... каюсь, прохлопал :)
Но:
Код: powershell
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.
-bash-4.2$ /usr/pgsql-12/bin/pgbench --client=4 --time=100 --protocol=prepared --vacuum-all --report-latencies pgbench
starting vacuum...end.
starting vacuum pgbench_accounts...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 100
query mode: prepared
number of clients: 4
number of threads: 1
duration: 100 s
number of transactions actually processed: 317767
latency average = 1.259 ms
tps = 3177.611086 (including connections establishing)
tps = 3177.715447 (excluding connections establishing)
statement latencies in milliseconds:
         0.002  \set aid random(1, 100000 * :scale)
         0.001  \set bid random(1, 1 * :scale)
         0.001  \set tid random(1, 10 * :scale)
         0.001  \set delta random(-5000, 5000)
         0.084  BEGIN;
         0.177  UPDATE pgbench_accounts SET abalance = abalance + :delta WHERE aid = :aid;
         0.112  SELECT abalance FROM pgbench_accounts WHERE aid = :aid;
         0.200  UPDATE pgbench_tellers SET tbalance = tbalance + :delta WHERE tid = :tid;
         0.447  UPDATE pgbench_branches SET bbalance = bbalance + :delta WHERE bid = :bid;
         0.119  INSERT INTO pgbench_history (tid, bid, aid, delta, mtime) VALUES (:tid, :bid, :aid, :delta, CURRENT_TIMESTAMP);
         0.110  END;


Это параллельно с выполнением теста гилева, и предварительным закрытием месяца в УТ...
Вчера только параллельно с гилевым было 1.5к всего...
Так что результат, ка кни странно, есть...
Ну и субъективные ощущения от работы в базе есть...
...
Рейтинг: 0 / 0
Проблемы с insert/update
    #40136263
astbur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Судя по всему, изменение настройки дало то, что при параллельных операциях не так сильно проседает tps...
Сам тпс, поднялся не значительно...
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Проблемы с insert/update
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (7): Анонимы (5), Yandex Bot, Bing Bot 3 мин.
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]