aprox가있는 테이블이있는 시스템에서 작업하고 있습니다. 1,300 만 기록. 포스트 그레스에게는 큰 문제는 아니지만이 특정 테이블을 치를 때 심각한 성능 문제에 직면하고 있습니다.AWS의 Postgres 성능 필터 또는 집계 관련 문제
테이블에 aprox가 있습니다. 60 열 (나는 그것이 너무 많다는 것을 알고 있지만, 나의 의지를 넘어서서 그것을 바꿀 수는 없다).
하드웨어에 문제가 없습니다. AWS에서 실행 중입니다. 몇 가지 구성, 심지어 postgres에 대한 새로운 RDS를 테스트했습니다 :
vCPU ECU mem(gb)
m1.xlarge 64 bits 4 8 15
m2.xlarge 64 bits 2 6,5 17
hs1.8xlarge 64 bits 16 35 117 SSD
pgtune으로 조정 된 pg 설정. 그리고 우분투의 커널 sshmall과 shmmax도 설정하십시오.
일부 "분석 설명"쿼리 :
에서 SELECT COUNT (*) : 내가 자주 사용되는 컬럼에 BTREE 인덱스가
HashAggregate (cost=159341.37..159341.39 rows=2 width=516) (actual time=15965.740..15966.090 rows=329 loops=1)
-> Bitmap Heap Scan on core_eleitor (cost=1433.53..159188.03 rows=61338 width=516) (actual time=956.590..9021.457 rows=5886110 loops=1)
Recheck Cond: ((core_eleitor_city)::text = 'RIO DE JANEIRO'::text)
-> Bitmap Index Scan on core_eleitor_city (cost=0.00..1418.19 rows=61338 width=0) (actual time=827.473..827.473 rows=5886110 loops=1)
Index Cond: ((core_eleitor_city)::text = 'RIO DE JANEIRO'::text)
Total runtime: 15977.460 ms
:
$Aggregate (cost=350390.93..350390.94 rows=1 width=0) (actual time=24864.287..24864.288 rows=1 loops=1)
-> Index Only Scan using core_eleitor_sexo on core_eleitor (cost=0.00..319722.17 rows=12267505 width=0) (actual time=0.019..12805.292 rows=12267505 loops=1)
Heap Fetches: 9676
Total runtime: 24864.325 ms
것은에서 별개의 core_eleitor_city를 선택 필터 또는 집계.
그래서 주어진 테이블 디자인을 변경할 수 없습니다. 실적을 향상시키기 위해 할 수있는 일이 있습니까?
도움이 될 것입니다.
감사
참고 : OP는 아직 RDS에 읽기 복제 기능이없는 Postgres를 지칭하고있었습니다. –
@MalCurtis 고맙습니다 .. !!! –