Intel üzerinden AMD işlemcilerini seçerken dikkat edilmesi gerekenler


13

Donanımımızı ~ 250 fiziksel sunucudan sanallaştırma / ~ 40 yeni sunucuya yenilemeye çalıştığımız eski LAMP web uygulamaları olan bir şirket için çalışıyorum. Satıcılardan iki teklif aldık - biri Intel işlemcileri, diğeri AMD'yi öneriyor.

AMD ile yüksek çekirdek sayıları hakkında sevdiğim bir şey, çekirdekleri VM'lere ayırabileceğimiz, yani sivri uçlar nedeniyle birbirine müdahale eden daha düşük uygulama şansımız olduğu anlamına geliyor. en yüksek performanstan daha önemli.

Aklımdaki diğer hususlar:

  • Güç tüketimi farklı olabilir (bizim durumumuzda bir sorun değildir).
  • CRC32 (SSE 4.2) gibi CPU talimatları desteklenmez (Düzenleme: MySQL 5.6, SSE4.2'yi destekliyor gibi görünüyor. Apache hakkında emin değilim)
  • MySQL ~ 16 / ~ 32 çekirdekten sonra mükemmel bir şekilde ölçeklenmiyor (bu takası kabul etmeye hazırım.)

Başka hangi düşünceleri kaçırıyorum?

(Moderatörler Not: ben farkındayım bu konuya - Ben biraz daha farklı soru düşünün.)


Düzenleme: Görevlerin son derece paralel olduğunu (web sunucuları) ve veritabanı sunucuları çok paralel değil umurumda olmadığını varsayalım.



Uygulamanız okuma / yazma sorgularını farklı sunucu havuzlarına bölebiliyorsa, köle okumaları için ikinci bir örnek çalıştırarak MySQL performans sorunlarının bazılarını atlatabilirsiniz. Bunun uygulanabilir bir fikir olup olmadığını veya bunun bir ton gereksiz ek yük ve karmaşıklık ekleyip eklemeyeceğini bilmek için mimariniz veya iş yükünüz hakkında yeterince bilgim yok, ancak dikkate alınması gereken bir seçenek.
jgoldschrafe

Split okuma / yazma yönteminin nasıl çalıştığını biliyorum. Bu durumda performans artışı için uygun değildir.
Morgan Tocker

Yanıtlar:


10

Buldozer adı verilen en son AMD işlemci teklifi ile ilgili olarak çok sayıda basın yayınlandı. Bu bölümün "Sunucu" sürümü henüz çıkmadı, ancak masaüstü teklifi yeni şeylerin bazı potansiyel sorunlarına harika bir bakış.

Sunucu bölümünün mevcut nesline gelince, genel olarak tavsiye tüm seviyelerde oldukça iyidir. Web sunumu ve (çoğu) veritabanı çalışması büyük ölçüde Tamsayı tabanlıdır ve AMD CPU'lar Tamsayı hesaplamasıyla iyi sonuç verir. Ayrıca, web sunumu (genel olarak) oldukça paralelleştirilebilen bir sorundur. AMD özellikle "birçok çekirdek daha hızlı çalışma sağlar" üzerine odaklanmaktadır ve LAMP (yine genel olarak) buna iyi yanıt verme eğilimindedir.

Gerçekten dikkat etmeniz gereken bir alan, uygulamalarınızdaki tek iş parçacığı bağımlılıklarıdır. AMD parçaları Intel parçaları kadar saat yönünde ölçeklenmez, bu nedenle temelde tek iş parçacıklı işlemler genel sisteminizi daha hızlı CPU parçalarında olduğundan çok daha hızlı bir şekilde azaltabilir. Bunun sizin için geçerli olup olmadığını yalnızca siz bilirsiniz. Bazı veritabanı işlemleri, daha az çekirdek sayısına sahip daha hızlı Intel işlemcilerden daha iyi sunulabilir, böylece bu az sayıda yağ dişi gerçekten çığlık atabilir.

Burada uygulama kodu da önemlidir. Bazı uzun süren web sunucusu işlemleri çok fazla tek iş parçacığı zamanını çiğneyebilir ve daha hızlı bir saat ister. Bu, uzun süren işlemlere olan ihtiyacı yeniden yazarak çözülebilir, ancak o zamana kadar daha hızlı bir saat güzel olurdu.

Ancak genel olarak, lots-o-webserver-vm tarzı iş yükleri için, bu 12 çekirdekli parçalar oldukça dar ölçeklenebilir. Bazı tek iş parçacığı sorunlarıyla karşılaşırsanız, daha yüksek saat hızına sahip 8 çekirdekli parçalara gitmek kabul edilebilir bir uzlaşma olacaktır.


Teşekkürler, ne yazık ki AMD sistemi bir buldozer olmayacak. Bir AMD Opteron 6140 (veya benzeri).
Morgan Tocker

@MorganTocker Olduğu gibi, bu CPU sınıfına aşinayım ve görevimi yazdım. Buldozer'ın benim girmediğim bazı sorunları var.
sysadmin1138

4

Çoğunlukla, her iki işlemcinin de karşılaştırılabilir olduğunu göreceksiniz. AMD işlemcilerin 4. kanal nedeniyle RAM hızlarında (genellikle) hafif bir kenarı vardır. Intel işlemcilerin genel olarak daha düşük CPI'ları vardır (muhtemelen HT'de daha fazladır , ancak iş yüküne bağlıdır). AMD genellikle daha ucuzdur.

Bu faktörlerin çoğu, iş yükünüze bağlı olarak birine veya diğerine avantaj sağlayacaktır. İkisi de diğerinden önemli ölçüde daha kötü olmayacaktır (aklı başında yapılandırmalar ve kabaca eşit CapEx varsayalım).


2

Farklı RAM mimarisinin getirebileceği performans farklılıklarını ve bunun kuruluşunuz için belirleyici bir faktör olup olmadığını göz önünde bulundurmalısınız.

Ayrıca, bir yan not olarak, en yüksek performansla ilgilenmeyebilirsiniz, ancak VM'lerinizde birden fazla çekirdek yoksa ve / veya içindeki belirli görevler tek iş parçacıklıysa, intels'te önemli bir performans avantajı vardır. Toplam çekirdek sayısı daha az olsa bile AMD'den daha fazla çekirdek.


Uygulamalarımızın uygun şekilde çok iş parçacıklı olduğunu varsayalım (web sunucuları; MySQL'in tamamen olmadığını kabul etmeye istekli).
Morgan Tocker

2

Temel fark yaklaşımdadır; orta sınıfta, AMD, benzer bir Intel parçası kadar pahalı olan bir kısımdaki çekirdeklere hafif bir vurgu yapıyor. Intel kısmı daha yüksek çekirdeklere sahip olacak.

Dolayısıyla, sanallaştırılmış web uygulaması iş yükleri için muhtemelen AMD sistemlerini tercih etmek isteyeceksiniz.

Büyük bir fiyat farkı olmadıkça, dolar konusunda endişelenmezdim. IO alt sistemine daha çok bakardım. Ve 40 sunucudaki TCO, çoğunlukla sunucuların kendisi değil, destek, yazılım lisansı ve personel olacaktır.

En azından kendinize bir iyilik yapmanız, her iki satıcıyı da getirmeniz ve her ikisinden de 40 sunucuya bağlanmadan önce sistemlerinizi donanımlarında çalıştırmanız gerekir. İş yükünüz için soruyu yalnızca siz doğru şekilde yanıtlayabilirsiniz.


Cevabınız için teşekkür ederim! Bir iş yükümüz yok - birkaç iş yükümüz var. Bu yüzden satıcıyı getirmek için, tamamen geçiş yapmamız ve ardından her ikisini de denemek için tekrar taşınmamız gerekir. Bunun en uygun olduğunu anlıyorum, bizim durumumuzda pratik değil. Hareket etmek ve yansıtmak için daha az sayıda rol seçebiliriz, ancak bunun için neyi ölçmemiz / neye dikkat etmemiz gerektiğini bilmemiz gerekir; dolayısıyla benim sorum;)
Morgan Tocker

İş yükü ile, yani (muhtemelen) farklı şeyler yapan birçok farklı sunucudan oluşan bir GENEL iş yükünüz var demektir. Anahtar sunucuların bir alt kümesini bugünlerde satın almak üzere olduğunuz sunuculara yüklenebilecek sanal görüntülere (buna yardımcı olabilecek yazılımla) kolayca dönüştürebilmelisiniz. İhmal edilebilir bir görev değil, sadece CPU'nun değil, IO alt sisteminin ve diğer her şeyin sizin lehinize çalıştığından emin olmanın tek yolu. Aksi takdirde, herkes elinden feragat eder ve tahmin eder. :)
alphadogg

1

Orada atmak için bir şey daha var, konukları Intel'den AMD'ye geçirmenin herhangi bir tür sanallaştırmayı kullanıyorsanız gerçek bir sorun olabilir ve markalar arasında kümelenme kartlarda yok. Her küme için bir platforma bağlı kalın ve birinden diğerine atlamanın zor olduğunu kabul edin.


KVM ile mimariler arasındaki canlı göç, 64 bit'te
Ophidian

Kullanıcı "eski LAMP" dedi; 32-bit misafir olabilir gibi kokuyor. Yine de, KVM'nin sorunun üstesinden geldiğini bilmek güzel! Not için teşekkürler.
Mark

Evet, bazı misafirler 32 bit, ancak taşınmayı ve 64 bit olmayı planlıyoruz.
Morgan Tocker
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.