database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 6946 게시물 읽기
No. 6946
PostgreSQL 8.2 벤치결과
작성자
jaker
작성일
2006-12-09 00:56
조회수
5,547

  PostgreSQL 8.2 를 설치한 김에 pgbench 를 한번 돌려 봤습니다.


2대의 동일 하드웨어 사양인 서버에 x86 Linux 와 x86_64 Linux 를 설치하여 수행 하였습니다.


하드웨어 스펙은 다음과 같습니다.


Model : IBM  306m


CPU : Intel(R) Pentium(R) 4 CPU 3.20GHz

Memory : 1024MB

Storage : SATA 80GB


OS : CentOS 4.4  Kernel 2.6.9-42.0.3.ELsmp


CentOS x86
[postgres@x86-jaker ~]$ /usr/local/pgsql/bin/pgbench  -n -c 100 -t 100 -S

transaction type: SELECT only

scaling factor: 1

number of clients: 100

number of transactions per client: 100

number of transactions actually processed: 10000/10000

tps = 5543.267978 (including connections establishing)

tps = 6218.290604 (excluding connections establishing)


[postgres@x86-jaker ~]$ /usr/local/pgsql/bin/pgbench  -n -c 100 -t 100

transaction type: TPC-B (sort of)

scaling factor: 1

number of clients: 100

number of transactions per client: 100

number of transactions actually processed: 10000/10000

tps = 243.158221 (including connections establishing)

tps = 244.326912 (excluding connections establishing)


CentOS x86_64
[postgres@x86-64-jaker ~]$ /usr/local/pgsql/bin/pgbench  -n -c 100 -t 100 -S

transaction type: SELECT only

scaling factor: 1

number of clients: 100

number of transactions per client: 100

number of transactions actually processed: 10000/10000

tps = 4919.705487 (including connections establishing)

tps = 5591.058779 (excluding connections establishing)


[postgres@x86-64-jaker ~]$ /usr/local/pgsql/bin/pgbench  -n -c 100 -t 100

transaction type: TPC-B (sort of)

scaling factor: 1

number of clients: 100

number of transactions per client: 100

number of transactions actually processed: 10000/10000

tps = 138.554470 (including connections establishing)

tps = 139.023920 (excluding connections establishing)


흠...이 결과를 어떻게 받아 들여야 할지.....


일단 DB Server 로는 저사양이긴 합니다만 비슷한 환경에서 사용하고 계실분도 있으실거라 생각되어 결과를 올려 봅니다.

상위 스펙의 서버에서 테스트 할 기회가 생기면 결과를 올리도록 하겠습니다.


이 글에 대한 댓글이 총 5건 있습니다.

64비트가 더 빠른것이 당연한거 아닌가요?

결과에 이상한 부분이 있는건가요?

송효진님이 2006-12-09 05:43에 작성한 댓글입니다. Edit

jaker님이 이상하게 생각하는 것이 64비트 OS에서 TPS(Transactions per second)가 x86보다 작게 나오는 것이죠??


여러번 수행한 결과를 평균해도 x86에서 x64보다 결과가 높게 나오나요?


만약 한번만 수행했다면 결과가 다르게 나올수 있으니 여러번 수행한 결과를 평균해보세요.


우리가 일반적으로  x64에서 더 성능이 좋을거라 생각하는데 결과가 의외이긴 하네요.

김영우님이 2006-12-12 11:59에 작성한 댓글입니다. Edit

동일한 상황이라면 64비트 쪽이 성능은 더 낮습니다

64비트는 32비트가 가지는 한계를 극복할 수 있을 뿐이지 속도가 올라가지는 않거든요

오히려 레지스터, 코드 영역 생성시 스택처리 등에서 32비트에 비해 성능을 갉아먹는 요인이 더 많습니다

신기배(소타)님이 2006-12-12 13:07에 작성한 댓글입니다.

벤치 테스트는 4~5회에 걸쳐 했으며 x86_64 쪽은 그중 가장 잘나온 수치를 선택했습니다 ( -_-;;)

별도의 환경설정치 조절이 없이 이루어 졌으며,

원래 테스트 목적은 32 나 64의 기본 처리 능력 비교가 아니라 32 와 64의 한계치 극복능력 정도를 알아 보고자 함이었는데... 웬걸 64 가 32에 비해 눈에 띄게 성능이 떨어 지는 바람에 이후 테스트 방향을 어떻게 잡아야 할지 난감 해 하던 상황이었습니다.


일단 환경설정치를 조정한 후 다시 한번 비교 해 볼 생각입니다.

희망 사항이라면 32에는 부적합하나 64 에 적합한 설정치가 있었으면 좋겠습니다.


이분야에 종사하시는 적지 않은 수의 관계자들이 DB = 64 라고 알고 계신듯 한데, 그 근거를 찾아 볼 필요는 있다고 생각합니다.

프로세스 처리단위와 관련되어 필드들의 데이타 타입등에 의해 만회 될것 같기는 하지만 이것만으론 특성에 치우칠것 같고....


범용적이면서 추천할만한 벤치 방법을 알려주시면 감사하겠습니다.


jaker님이 2006-12-12 20:14에 작성한 댓글입니다. Edit

오호~ 그렇군요.


동일한 하드웨어, configuration 일 때, x64에서 성능상의 이점을 획득하는 방법은 어떤게 있을까요?


메모리 어드레싱 제한이 늘어나니 충분한 메모리를 넣어주고 ...그에 따라 성능에 영향을 미치는 변수들을 조정하는 방법뿐인가요?

김영우님이 2006-12-13 15:34에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
6949Ms-SQL과의 쿼리 속도차. [18]
이기자
2006-12-11
8347
6948create function에 궁금한게잇습니다. [2]
보두남
2006-12-10
4543
6947버전업그레이드 문제...
초보
2006-12-09
3885
6946PostgreSQL 8.2 벤치결과 [5]
jaker
2006-12-09
5547
6945PostgreSQL 8.2 Released
jaker
2006-12-08
4671
6944psql 스키마접속.. [2]
백수환
2006-12-07
4910
6943소트방법 좀 알려주세요..
나그네
2006-12-06
4081
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다