Saya bekerja untuk sebuah perusahaan dengan banyak aplikasi web warisan LAMP, di mana kami mencoba menyegarkan perangkat keras kami dari ~ 250 server fisik hingga ~ 40 server baru dengan virtualisasi. Kami telah menerima dua kutipan dari vendor - satu menyarankan prosesor Intel, AMD lainnya.
Satu hal yang saya sukai tentang core-counts tinggi dengan AMD, adalah bahwa kita akan dapat mendedikasikan core untuk VM, yang berarti kita memiliki peluang lebih rendah untuk aplikasi yang saling mengganggu satu sama lain karena paku, yang pada tingkat tertentu lebih penting bagi saya daripada kinerja puncak.
Pertimbangan lain yang ada dalam pikiran saya adalah:
- Konsumsi daya mungkin berbeda (bukan masalah dalam kasus kami.)
- Instruksi CPU seperti CRC32 (SSE 4.2) tidak akan didukung (Edit: MySQL 5.6 tampaknya mendukung SSE4.2. Tidak yakin tentang Apache)
- MySQL tidak skala sempurna setelah ~ 16 / ~ 32 core (Saya bersedia menerima trade off ini.)
Pertimbangan apa lagi yang saya lewatkan?
(Catatan untuk moderator: Saya mengetahui utas ini - saya menganggap pertanyaannya sedikit berbeda.)
Sunting: Asumsikan bahwa tugas-tugasnya sangat paralel (webservers), dan saya tidak peduli tentang server basis data yang tidak begitu paralel.
sumber
Jawaban:
Ada banyak pers mengenai penawaran prosesor AMD terbaru, yang disebut Bulldozer. Versi "Server" dari bagian ini belum keluar, tetapi penawaran desktop adalah pemandangan bagus ke beberapa masalah potensial dari hal-hal baru.
Sedangkan untuk generasi bagian Server saat ini, semuanya adalah rekomendasi yang cukup baik di tingkat generik. Pekerjaan melayani web dan (sebagian besar) basis data sebagian besar berbasis Integer, dan CPU AMD bekerja dengan baik dengan perhitungan Integer. Selain itu, penyajian web (umumnya) merupakan masalah yang dapat sangat diparalelkan. AMD berfokus agak khusus pada "banyak core yang membuat pekerjaan lebih cepat", dan LAMP (sekali lagi, secara umum) cenderung merespons dengan baik.
Satu area yang Anda benar-benar perlu perhatikan adalah dependensi single-thread dalam aplikasi Anda. Komponen AMD tidak berskala jauh seperti komponen Intel, sehingga proses yang pada dasarnya single-thread dapat menghambat keseluruhan sistem Anda jauh lebih cepat daripada pada bagian CPU yang lebih cepat. Hanya Anda yang tahu apakah ini berlaku untuk Anda atau tidak. Operasi basis data tertentu mungkin lebih baik dilayani dari prosesor Intel yang lebih cepat dengan jumlah inti lebih kecil hanya agar beberapa benang gemuk itu benar-benar menjerit.
Kode aplikasi juga penting di sini. Beberapa proses server web yang sudah berjalan lama dapat mengunyah banyak waktu single-thread dan juga menginginkan jam yang lebih cepat. Itu mungkin dapat dipecahkan dengan menulis ulang kebutuhan untuk proses yang berjalan lama itu, tetapi sampai saat itu jam yang lebih cepat akan lebih baik.
Tetapi secara umum, untuk beban kerja gaya banyak-o-webserver-vm, bagian-bagian 12-inti dapat berskala sangat jauh. Jika Anda mengalami beberapa masalah single-thread, pergi dengan bagian 8-core clock lebih tinggi akan menjadi kompromi yang dapat diterima.
sumber
Untuk sebagian besar, Anda akan menemukan kedua prosesor sangat sebanding. Prosesor AMD memiliki sedikit keunggulan dalam kecepatan RAM (biasanya) karena saluran ke-4. Prosesor Intel umumnya memiliki CPI yang lebih rendah (mungkin lebih dengan HT , meskipun sangat tergantung pada beban kerja). AMD umumnya lebih murah.
Sebagian besar dari faktor-faktor ini akan memberikan keunggulan bagi satu atau yang lain, tergantung pada beban kerja Anda. Tidak ada yang akan secara signifikan lebih buruk daripada yang lain (dengan asumsi konfigurasi waras dan kira-kira sama dengan CapEx).
sumber
Anda harus mempertimbangkan perbedaan kinerja yang dibawa oleh arsitektur RAM yang berbeda, dan apakah itu merupakan faktor penentu bagi organisasi Anda.
Juga sebagai sedikit catatan, sementara Anda mungkin tidak peduli dengan kinerja puncak, jika VM Anda tidak akan memiliki beberapa inti masing-masing dan / atau tugas-tugas khusus dalam single-threaded, ada keuntungan kinerja yang cukup besar di intel per inti dari AMD, bahkan jika jumlah inti total kurang.
sumber
Perbedaan utama adalah dalam pendekatan; di mid-range, AMD memiliki sedikit penekanan pada core di bagian yang berharga sekitar seperti bagian Intel. Bagian Intel akan memiliki lebih sedikit core yang lebih tinggi.
Jadi, untuk beban kerja aplikasi web tervirtualisasi, Anda mungkin ingin memilih sistem AMD.
Kecuali ada perbedaan harga yang besar, saya tidak akan khawatir tentang dolar. Saya akan melihat lebih ke subsistem IO. Dan, TCO pada 40 server sebagian besar akan mendukung, lisensi perangkat lunak, jika ada, dan penempatan staf, mungkin bukan server itu sendiri.
Minimal, Anda perlu melakukan sesuatu untuk diri Anda sendiri, membawa kedua vendor, dan menjalankan sistem Anda pada perangkat keras mereka sebelum melakukan ke 40 server dari salah satu. Hanya Anda yang dapat menjawab pertanyaan dengan benar untuk beban kerja khusus Anda.
sumber
Satu hal lagi untuk dibuang di sana, berhati-hatilah jika Anda menggunakan virtualisasi jenis apa pun yang memindahkan para tamu dari Intel ke AMD bisa menjadi masalah nyata dan pengelompokan lintas merek tidak ada dalam kartu sama sekali. Menempel satu platform untuk setiap cluster dan menerima bahwa sulit untuk beralih dari satu ke yang lain.
sumber