DB 단순 쿼리 성능 테스트 방법이 궁금하여 질문드립니다. 0 1 2,177

by 싸펑피펑 [DB 기타] 쿼리테스트 Postgresql MariaDB 벤치마크 [2017.09.25 14:26:12]


 제가 mriadb 10.1.26버전과 postgresql 9.5.8 버전을 이용해서 Insert 쿼리 성능 테스트를 해보았는데요.

데이터베이스 벤치마크 성능테스트 툴이 어떤게 있는지 몰라 조금 찾아본 결과 

http://blog.appkr.kr/work-n-play/db-query-performance-illustration-using-array/

이런식으로 php파일을 만들어서 테스트를 하는 방법이  있다는걸 알게 되었고 저도 나름 테스트 해보려구 

노트북 가상머신에서(쿼드코어,램 8기가)

1. nginx,mariadb,php7

2. nginx.postgresql,php7

이렇게 두 가지를 각각 따로 설치를 해서 php파일을 만들고 각각 insert.쿼리를 1만번, 5만번, 10만번 이렇게 테스트를 해서 작업 처리 속도가 얼마나 걸리는지 테스트를 해보았습니다.

테스트는 각각 5번씩 하구 insert하기전에 table안에 있는 데이터들은 delete하고 insert하는 방식으로 테스트를 해보 았는데요.

결과는 1만번,5만번 일 때는 1~2초 내외로 postgresql이 조금더 빠르고, 10만번에서는 postgresql이 10초 이상 더 빠르다는걸 확인 할수 있었습니다. 

여기서 제가 이해가 가지 않는게 있는데요 

https://eng.uber.com/mysql-migration/

이 포스트 글에 의하면 postgresql이 mysql(mariadb)보다 쓰기 효율이 더 안좋게 나와야 한다라고 하는데 제 성능테스트 결과는 전혀 그렇지 않다는거죠.

혹시나 제가 테스트 한 방법이 잘못 된 거라면 정확하게 테스트 하는 방법을 알고 싶어 질문드립니다. 보통 join이 아닌 단순 쿼리 성능 테스트는 크게 
신경쓰지 않아도 된다 고들 하는데 그래도 저는 정확하게 테스트 하는 방법을 알고 싶어 질문드리는 겁니다. 

by 주킹 [2017.09.25 14:39:35]

자 우선 benchmark 툴에 대한 결과는 100%신용할수는 없지만

uber의 경우 PostgreSQL의 최신버전을 사용한 것이 아니라 과거의 버전으로 vacuum에 대한 이슈가 많이 해결안된

부분이 많아 그런현상이 발생할 수 있다고 생각합니다.

최신 버전은 이러한 부분이 많이 개선되었고 join이나 복잡한 logic일수록 postgreSQL이 더 나은 성능을

보장하는 경우도 있고 mariadb가 좋은 부분도 분명 존재할 것입니다.

다만 개인적으로 mariadb나 mysql의 경우 scale-out면에서 장점이 있다고 생각하시고

 postgreSQL은 단일서버에서는 mariadb나 mysql보다 나은 성능을 보인다고 생각합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입