Menambahkan CPU membuat kinerja MySQL 5.5 (Debian) turun

8

Saya akan menyiapkan server database (MySQL) dalam wadah OpenVZ dan saya bertanya-tanya berapa banyak CPU yang harus saya tetapkan untuk itu. Saya memutuskan untuk membandingkannya. Saya membandingkan dua distribusi OS / MySQL dan menguji kinerjanya dengan CPU 1, 2, 3 dan 4.

Konfigurasi perangkat lunak pertama adalah:

  • Rilis CentOS 6.5 (Final)
  • mysql Ver 14.14 Distrib 5.1.71, untuk redhat-linux-gnu (x86_64) menggunakan readline 5.1

Kedua:

  • Debian GNU / Linux 7 \ n \ l
  • mysql Ver 14.14 Distrib 5.5.31, untuk debian-linux-gnu (x86_64) menggunakan readline 6.2

Keduanya berjalan pada kernel yang sama - 2.6.32-openvz-042stab083.2-amd64 # 1 SMP Fri 8 Nov 17:59:25 MSK 2013 x86_64 GNU / Linux.

Semua perangkat lunak diinstal dari paket dan digunakan di luar kotak tanpa penyesuaian konfigurasi khusus.

Perangkat keras: RAM 6GB, 1-4 CPU 3.5 GHz.

Untuk pembandingan saya menggunakan sysbench dengan skenario berikut:

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

Dalam kedua kasus mesin tabel adalah InnoDB.

Output yang saya lihat adalah jumlah transaksi per detik. Hasilnya cukup stabil - kesalahannya kurang dari 1%.

Hasilnya bagus dan diharapkan untuk CentOS / MySQL5.1, tetapi sangat aneh untuk Debian / MySQL5.5: masukkan deskripsi gambar di sini

Seperti yang Anda lihat, MySQL5.5 pada Debian gagal memanfaatkan beberapa CPU dengan benar. Sementara kinerja dengan 2 CPU lebih tinggi daripada dengan 1, itu jelas lebih rendah daripada pada CentOS / MySQL5.1. Selain itu, turun ketika kita menambahkan lebih banyak CPU di atas 2 yang benar-benar aneh.

Bisakah seseorang tolong jelaskan apa yang terjadi di sana? Mengapa di Bumi MySQL akan lebih buruk ketika kita menambahkan CPU?

Greendrake
sumber
Pertentangan sumber daya dapat berperan di sini - apakah Anda memiliki banyak server / wadah virtual yang berjalan di host ini? Mungkinkah prosesor fisik berada di bawah beban selama tolok ukur pemasangan Debian Anda?
blacklight
Hasilnya cukup dapat direproduksi. Itu adalah server metal rumah saya sendiri dan saya tidak memuatnya dengan hal lain selama pengujian.
Greendrake
Maksud saya, tentu saja ada beberapa mesin virtual lain di server, tetapi mereka menganggur.
Greendrake
Saya akan mengatakan kernel, tetapi itu sama ... Bisakah Anda mencoba menggunakan versi yang sama pada kedua sistem?
miniBill
yang berbeda, debian menggunakan eglibc en.wikipedia.org/wiki/Embedded_GLIBC , mungkin ini bukan masalahnya
c4f4t0r

Jawaban:

1

Yah itu pertanyaan yang benar-benar memimpin tanpa terlebih dahulu mengetahui sesuatu tentang arsitektur yang Anda jalankan .. tetapi umumnya ada hit eksponensial pada throughput bus ketika menambahkan kapasitas CPU terutama arsitektur yang mendukung beberapa prosesor multi-core, berhenti dan pikirkan sejenak implikasi pada siklus interupsi melintasi batasan bandwidth bus apa pun yang digunakan .... dalam hal kinerja apa pun ... memahami bahwa arsitektur Anda akan menggunakan I / O leher botol atau Bits Per Siklus, sekali lagi perlu diingat bahwa beberapa CPU perlu beberapa threading. .. jadi tidak masalah kecepatan FSB Anda ... jika perangkat keras Anda hanya 64bit, maka konektivitas listrik fisik harus berbagi batasan ini di sebanyak inti dalam siklus clock yang sama ...sekarang berhenti dan pikirkan implikasi positif dari peningkatan dari 64bit ke papan sistem 256bit Anda mungkin mendapatkan throughput x3 kali lebih baik pada kemiringan penuh mengingat bahwa x1 akan dihabiskan untuk threading / mempertahankan overhead operasi .. namun selama operasi normal Anda mungkin mengalami kenyataan yang tidak nyaman tentang overhead ketika Anda hanya membutuhkan prosesor / operator tunggal .. Saya kira ini adalah tindakan penyeimbang atau lebih tepatnya kuda yang tepat untuk jalan yang benar .. Steveo Reedo [email protected] kira ini adalah tindakan penyeimbangan atau lebih tepatnya kuda yang tepat untuk jalan yang benar .. Steveo Reedo [email protected] kira ini adalah tindakan penyeimbangan atau lebih tepatnya kuda yang tepat untuk jalan yang benar .. Steveo Reedo [email protected]

pengguna37008
sumber
0

Ketika Anda menambahkan CPU, hal itu akan melakukan lebih banyak operasi secara paralel. Jika Anda belum menambah jumlah RAM, maka pertukaran dapat terjadi, terutama jika Anda menggunakan versi perangkat lunak yang lebih gemuk (dan sebagian besar berarti lebih gemuk).

Thorsten Staerk
sumber