CPU를 추가하면 MySQL 5.5 (Debian) 성능이 저하됩니다


8

OpenVZ 컨테이너에 데이터베이스 서버 (MySQL)를 설정하려고하는데 얼마나 많은 CPU를 할당 해야하는지 궁금합니다. 나는 그것을 벤치마킹하기로 결정했다. 두 개의 OS / MySQL 배포를 비교하고 1, 2, 3 및 4 CPU에서 어떻게 수행되는지 테스트했습니다.

첫 번째 소프트웨어 구성은 다음과 같습니다.

  • CentOS 릴리스 6.5 (최종)
  • readline 5.1을 사용하는 redhat-linux-gnu (x86_64) 용 mysql Ver 14.14 Distrib 5.1.71

두번째:

  • 데비안 GNU / 리눅스 7 \ n \ l
  • readline 6.2를 사용하는 debian-linux-gnu (x86_64) 용 mysql Ver 14.14 Distrib 5.5.31

2.6.32-openvz-042stab083.2-amd64 # 1 SMP Fri 11 월 8 일 17:59:25 MSK 2013 x86_64 GNU / Linux.

모든 소프트웨어는 패키지에서 설치되었으며 사용자 정의 구성 조정없이 기본적으로 사용되었습니다.

하드웨어 : 6GB RAM, 1-4 CPU 3.5GHz.

벤치마킹을 위해 다음 시나리오에서 sysbench를 사용했습니다.

sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d prepare
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

두 경우 모두 테이블의 엔진은 InnoDB입니다.

내가보고있는 결과는 초당 트랜잭션 수입니다. 결과는 매우 안정적이었습니다. 오류는 1 % 미만이었습니다.

결과는 CentOS / MySQL5.1에서는 좋았지 만 데비안 /MySQL5.5에서는 매우 이상했습니다. 여기에 이미지 설명을 입력하십시오

보시다시피 데비안의 MySQL5.5는 여러 CPU를 제대로 활용하지 못합니다. CPU 2 개의 성능은 1의 성능보다 높지만 CentOS / MySQL5.1의 성능보다 분명히 낮습니다. 또한 CPU를 2 개 이상 추가하면 정말 이상합니다.

누군가 무슨 일이 일어나고 있는지 설명해 주시겠습니까? CPU를 추가 할 때 어스 MySQL에서 성능이 저하되는 이유는 무엇입니까?


여기에서 리소스 경합이 가능할 수 있습니다.이 호스트에서 다른 가상 서버 / 컨테이너를 실행하고 있습니까? 데비안 설치 벤치 마크 중에 물리적 프로세서에 부하가 걸렸습니까?
blacklight

결과는 아주 재현 가능합니다. 그것은 내 집의 베어 메탈 서버였으며 테스트 중에 다른 어떤 것도로드하지 않았습니다.
Greendrake

물론 서버에는 몇 개의 다른 가상 머신이 있지만 유휴 상태였습니다.
Greendrake

커널이라고 말했지만 동일합니다 ... 두 시스템에서 같은 버전을 사용해 볼 수 있습니까?
miniBill

하나의 다른 데비안은 eglibc en.wikipedia.org/wiki/Embedded_GLIBC를 사용합니다 . 아마도 이것이 문제가되지는 않습니다
c4f4t0r

답변:



1

글쎄, 그것은 당신이 실행중인 아키텍처에 대해 먼저 알지 못하고 실제로 가장 중요한 질문입니다. 그러나 일반적으로 CPU 용량, 특히 다중 멀티 코어 프로세서를 지원하는 아키텍처를 추가 할 때 버스 처리량에 지수 적중이 있습니다. 구축 된 버스 대역폭 제한에 관계없이 인터럽트주기에 미치는 영향 ... 어떤 성능의 이벤트라도 아키텍처가 넥 I / O 또는 비트 당주기를 병에 넣을 것이라는 점을 이해하면 여러 CPU에 다중 스레딩이 필요하다는 점을 다시 염두에 두어야합니다. .. 따라서 FSB 속도에 관계없이 하드웨어가 64 비트에 불과한 경우 물리적 전기 연결은 동일한 클럭주기에서 많은 코어에서이 제한을 공유해야합니다.이제 64 비트에서 256 비트 시스템 보드로 업그레이드 할 때 발생하는 긍정적 인 영향에 대해 생각하고 x1이 작업 오버 헤드를 스레딩 / 유지 관리하는 데 소비 될 경우 최대 기울기에서 처리량이 3 배 향상 될 수 있습니다. 그러나 정상적인 작업 중에는 경험할 수 있습니다. 단일 프로세서 / 운영자가 필요할 때 오버 헤드에 대한 불편한 현실 .. 균형을 잡는 행위 또는보다 구체적으로 올바른 코스에 적합한 말을 추측합니다 .. Steveo Reedo nextfriend@live.co.uk균형을 잡는 행동 또는 더 구체적으로 올바른 코스에 맞는 말을 추측합니다 .. Steveo Reedo nextfriend@live.co.uk균형을 잡는 행동 또는 더 구체적으로 올바른 코스에 맞는 말을 추측합니다 .. Steveo Reedo nextfriend@live.co.uk


0

CPU를 추가하면 더 많은 작업이 병렬로 수행됩니다. RAM 수를 늘리지 않은 경우, 특히 테스트중인 소프트웨어의 더 뚱뚱한 버전을 사용하는 경우 스와핑이 발생할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.