>> Read Reply from No. 0 article  
RE: 100만건 트랜잭션 테스트해봤습니다.

등록 2002-06-13 06:33:00     조회 5
이름 김주현    

		컴파일러는 gcc 2.95를 썼습니다. MySQL은 어제 나온 3.23.51 버젼이고
레드햇 7.2에 커널은 2.4.18을 사용했습니다.
 gcc 2.96이나 3.0은 아직 추천하지 않더군요.
특히 MySQL AB측에서 2.96의 경우 랜덤 크래쉬나 테이블 깨짐 현상이 일어날 수 있으니 사용을
 금하라고 되어있습니다.  테스트 방식은 간단한 innodb 타입의 테이블을 생성하고 PERL을 이
용하여 트랜잭션을 건다음 100만건을 모두 insert한 후 commit하도록 하였습니다.
 create table innodb ( one int primary key, two char(10), three char(30)) type=innodb;
 사용한 PERL DBI프로그램 코드 
 $dbh->do("set autocommit = 0");
  for ($j = 0; $j < 1000000; $j = $j + 1) {
   $dbh->do("insert into innodb values ($j, '$j', '$j')");
}
 $dbh->do("commit");
 $dbh->disconnect;
 결과는
 [root@localhost download]# time ./bench.pl
 real    1m49.544s
user    0m22.770s
sys     0m10.470s
  MyISAM타입의 테이블에도 동일한 테스트를 해봤습니다.
[root@localhost download]# time ./bench.pl
 real    1m55.493s
user    0m21.550s
sys     0m10.370s
  bulk insert의 경우 innodb가 오히려 트랜잭션을 걸고도 더 빠른 기현상이
발견되었습니다.
 100만건 트랜잭션 처리에 저 정도면 나쁘지 않다고 생각되는군요. emoticon
  -------------------------------------------------------------
참고 사항:
 MyISAM bulk insert의 성능을 올리기위해서
insert 전에 write lock 을 걸고 insert 후 unlock tables를 해주니
innodb보다 빨라지기는 했습니다.
lock을 사용한 결과는
 [root@localhost download]# time ./bench.pl
 real    1m41.498s
user    0m21.460s
sys     0m9.390s
    :
:  MySQL 에서 트랜잭션은 innodb 와 같은 것들을 사용하여 가능하다는
:
:  것은 아마 다들 알고 계실겁니다.
:
:  하지만 매우 복잡한 문제들이 많이 있습니다.
:
:  역시 뻔한 이야기 이지만.... MySQL 로 운용 가능한 대형 싸이트 라는
:
:  조건하에... 트랜잭션 사용을 위해 innodb 로 바꾼 결과
:
:  끔찍한 일들이 벌어지곤 합니다.
:
:  사실 MySQL 이 개발되어진 근본적인 이유를 짚고 넘어가자면...
:
:  MySQL 에서 트랜잭션을 원하는것 자체가 좀 문제가 있지
:
:  않을까... 싶습니다.
:
:  어쨌든... 예전 방법대로 그냥 다시 사용하고 있습니다.
:
:  이번기회에 PostgreSQL 로 옮길 생각도 하고 있습니다.
:
:  제가 잘 몰라서... 그게 과연 효과가 있을지는 모르겠지만...
이름
암호


>> 관련글
  답장 RE: RE: 사용하기 곤란합니다.  mina  2002.06.13  ....
  답장 RE: 100만건 트랜잭션 테스트해봤습니다.  김주현  2002.06.13  ....
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.15 초 ] 작업시간: [ 0.07 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791029039
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.