mysql 5.5가 5.1보다 느린 이유 (mysqlslap을 사용하는 Linux)


10

my.cnf (5.5와 5.1은 동일) :

back_log=200
max_connections=512
max_connect_errors=999999
key_buffer=512M
max_allowed_packet=8M
table_cache=512
sort_buffer=8M
read_buffer_size=8M
thread_cache=8
thread_concurrency=4
myisam_sort_buffer_size=128M
interactive_timeout=28800
wait_timeout=7200

MySQL 5.5 :

..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000 
      --iterations=5 -S /tmp/mysql_5.5.sock --engine=innodb
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 15.156 seconds
        Minimum number of seconds to run all queries: 15.031 seconds
        Maximum number of seconds to run all queries: 15.296 seconds
        Number of clients running queries: 10
        Average number of queries per client: 500

mysql5.1 :

..mysql5.5/bin/mysqlslap -a --concurrency=10 --number-of-queries 5000 
      --iterations=5 -S /tmp/mysql_5.1.sock --engine=innodb
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 13.252 seconds
        Minimum number of seconds to run all queries: 13.019 seconds
        Maximum number of seconds to run all queries: 13.480 seconds
        Number of clients running queries: 10
        Average number of queries per client: 500

mysql 5.5가 5.1보다 느린 이유는 무엇입니까?

BTW : 나는 노력하고있어 mysql5.5/bin/mysqlslapmysql5.1/bin/mysqlslap결과는 동일합니다,


5
1 초 동안 실행되는 벤치 마크? 농담인가요?

@pfo, 나는 다음으로 변경합니다 :--concurrency=10 --number-of-queries 5000

1
my.cnf는 MyISAM을 구성하지만 벤치 마크는 InnoDB를 사용합니다. 미안 해요, 이것은 여전히 농담 (그리고 당신이 그들을 변경하지 않으면 너무 InnoDB의 기본값은 다음과 같습니다)
Laurynas Biveinis

3
my.cnf에 InnoDB에 대한 튜닝이 없습니다. 기본 구성에 대한 벤치 마크는 쓸모없고이 짧은 기간의 벤치 마크도 쓸모가 없습니다.
Aaron Brown

답변:


9

이 놀라운 사실을 알 수 있지만 특정 상황에서 MySQL 5.1이 MySQL 5.5를 능가 할 수 있습니다.

Percona는 여러 MySQL 릴리스에서 베이크 오프를 수행했습니다.

  • MySQL 4.1
  • MySQL 5.0
  • MySQL 5.1 (내장 InnoDB 포함)
  • InnoDB 플러그인이있는 MySQL 5.1
  • MySQL 5.5
  • MySQL 5.6

모든 테스트는 MySQL이 구성되지 않은 상태에서 수행되었습니다 (즉, my.cnf는 작성되지 않았습니다). 결과는?

  • MySQL 4.1은 최고의 단일 스레드를 수행합니다.
  • InnoDB 플러그인을 사용하는 MySQL 5.1은 5.1 InnoDB 내장, 5.5 및 5.6보다 여러 코어에서 확장

최신 버전의 MySQL이 더 나은 성능을 발휘하도록하려면 튜닝해야합니다. 실제로 DBA StackExchange에서 MySQL Bakeoff 수행 아이디어를 설명했습니다 .

튜닝이란 무엇입니까?

MySQL 5.5에는 더 많은 전용 읽기 스레드, 쓰기 스레드 및 전체 I / O 용량을 활용하기위한 새로운 InnoDB 옵션이 있습니다. 이것은 멀티 코어 서버에서 더 많은 CPU를 사용할 수 있습니다. 구성되지 않은 상태에서 MySQL 5.5는 대부분의 경우 이전 버전의 MySQL과 동일한 수준의 경기장에서 작동합니다. 때로는 성능이 저하 될 수 있습니다.


1
귀하의 답변은 정확하지만 OP에는 해당되지 않습니다. 그가 InnoDB를 설정하면, 우리는 보게 될 것입니다.
Laurynas Biveinis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.