[GENERAL] cpu hight sy% usage

Поиск
Список
Период
Сортировка
От downey.deng@postgresdata.com
Тема [GENERAL] cpu hight sy% usage
Дата
Msg-id 2017022723135372857425@postgresdata.com
обсуждение исходный текст
Список pgsql-general
hello everyone,
 
i have PostgreSQL 9.5.3 server running on redhalt 6.6
when i run one query  with pgbench the cpu is 80% and sy% is 60%

top
Cpu(s): 12.0%us, 53.0%sy,  0.0%ni, 35.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  529156900k total, 515292840k used, 13864060k free,   486228k buffers
Swap: 20479996k total,        0k used, 20479996k free, 291651484k cached

perf top
Samples: 12M of event 'cycles', Event count (approx.): 2442425371133 65.96%  [kernel]               [k] osq_lock  5.15%  [kernel]               [k] _spin_lock_irqsave  1.35%  postgres               [.] SearchCatCache  1.18%  [kernel]               [k] mutex_spin_on_owner  1.06%  postgres               [.] slot_deform_tuple  0.87%  postgres               [.] AllocSetAlloc  0.72%  [kernel]               [k] _spin_lock  0.68%  postgres               [.] LWLockAcquire  0.57%  postgres               [.] ExecInitExpr  0.55%  libc-2.12.so           [.] vfprintf  0.46%  postgres               [.] pg_encoding_mbcliplen  0.43%  postgres               [.] TupleDescInitEntry  0.40%  [kernel]               [k] schedule  0.25%  libc-2.12.so           [.] _int_malloc  0.25%  postgres               [.] hash_search_with_hash_value  0.25%  libc-2.12.so           [.] memcpy  0.25%  postgres               [.] PinBuffer  0.24%  libc-2.12.so           [.] __strlen_sse42  0.22%  postgres               [.] LWLockRelease  0.20%  [kernel]               [k] update_curr  0.19%  postgres               [.] MemoryContextAllocZeroAligned  0.19%  [kernel]               [k] select_idle_sibling  0.18%  [kernel]               [k] native_write_msr_safe  0.17%  postgres               [.] varstr_cmp  0.17%  libc-2.12.so           [.] __strncpy_ssse3  0.17%  [kernel]               [k] task_rq_lock  0.16%  [kernel]               [k] select_task_rq_fair  0.16%  postgres               [.] UnpinBuffer.clone.0  0.16%  postgres               [.] GetSnapshotData  0.16%  [kernel]               [k] __mutex_lock_slowpath  0.14%  [kernel]               [k] mutex_lock

1.the query runing is 2.7ms

2.query explain 

 Limit  (cost=14.60..14.60 rows=1 width=262) (actual time=0.093..0.093 rows=1 loops=1)
   ->  Sort  (cost=14.60..14.60 rows=1 width=262) (actual time=0.091..0.091 rows=1 loops=1)
         Sort Key: a.order_date DESC
         Sort Method: quicksort  Memory: 25kB
         ->  Nested Loop Left Join  (cost=0.84..14.59 rows=1 width=262) (actual time=0.055..0.074 rows=1 loops=1)
               ->  Nested Loop Left Join  (cost=0.57..12.67 rows=1 width=289) (actual time=0.049..0.067 rows=1 loops=1)
                     ->  Index Scan using table_name_1_user_id_idx on table_name_1 a  (cost=0.43..6.50 rows=1 width=233) (actual time=0.037..0.054 rows=1 loops=1)
                           Index Cond: ((user_id)::text = 'xxxxxxxx'::text)
                           Filter: (((checkin_date)::text >= '20170223'::text) AND ((checkin_date)::text <= '20170224'::text) AND ((valid_flag)::text = '1'::text) AND ((order_state)::text = A
NY ('{2,3,4,5,8,B}'::text[])))
                           Rows Removed by Filter: 36
                     ->  Index Scan using idx_table_name_2 on table_name_2 b  (cost=0.14..6.16 rows=1 width=56) (actual time=0.002..0.003 rows=1 loops=1)
                           Index Cond: ((a.company_id)::text = (company_id)::text)
               ->  Index Scan using idx_table_name_3 on table_name_3 ca  (cost=0.27..1.90 rows=1 width=35) (actual time=0.003..0.004 rows=1 loops=1)
                     Index Cond: ((b.company_id)::text = (company_id)::text)
 Planning time: 0.965 ms
 Execution time: 0.294 ms

3.sql 
SELECT
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
b. column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
A .column_name,
ca.column_name,
FROM
table_name_1 A
LEFT JOIN table_name_2 b ON (A .company_id = b.company_id)
LEFT JOIN table_name_3 ca ON (b.company_id = ca.company_id)
WHERE
A .valid_flag = '1'
AND A .user_id = 'xxxxxxxx'
AND A .checkin_date >= '20170223'
AND A .checkin_date <= '20170224'
AND A .order_state IN ('2', '3', '4', '5', '8', 'B')
ORDER BY
A .order_date DESC
LIMIT 3 OFFSET 0;
(16 rows)

i reindex table_name_1_user_id_idx and try again is of no use.

i drop the btree index  table_name_1_user_id_idx 
create index table_name_1_user_id_idx  on talbe_name_1 using hash(user_id);
vacuum analyze table_name_1

then the cpu is normal !!!!
 

I am very confused ,please help me find out the reasons for this situation
thank your!



Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: "Sven R. Kunze"
Дата:
Сообщение: Re: [GENERAL] ERROR: functions in index expression must be markedIMMUTABLE
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: [GENERAL] ERROR: functions in index expression must be markedIMMUTABLE