Hızlı Özet – ARM ve x86 VPS Seçimi
ARM64 ve x86-64 VPS arasında seçim yaparken işlemci etiketinden önce uygulamanızın mimari desteğini kontrol edin. Hazır paketler, Docker imajları, işletim sistemi ve geri dönüş planı kararın temelini oluşturur.
- Uyumluluğu doğrulayın — Uygulama, paketler ve native bağımlılıkların ARM64 veya x86-64 desteğini açıkça kontrol edin.
- ARM64'ü değerlendirin — Modern Linux servisleri ve çoklu mimari Docker imajları ARM64 üzerinde iyi adaylardır.
- x86-64 seçin — Windows, eski binary dosyalar, ticari yazılımlar ve belirsiz bağımlılıklar için x86-64 daha düşük risklidir.
- Docker manifestine bakın — İmajda hem linux/amd64 hem de linux/arm64 platformlarının bulunup bulunmadığını inceleyin.
- Gerçek yükle test edin — CPU testi yerine uygulama gecikmesi, disk davranışı, yedekleme ve güncelleme süresini ölçün.
- Geri dönüş hazırlayın — DNS değişikliğinden önce veritabanı yedeği, dosya yedeği ve çalışır bir geri dönüş VPS'i hazır tutun.
ARM64 VPS, modern Linux ve çoklu mimari Docker imajları kullanan uygulamalarda iyi fiyat-performans sunabilir; ancak her yazılım ARM üzerinde çalışmaz. x86-64, özellikle Windows, eski binary bağımlılıkları ve kapalı kaynak eklentiler için daha güvenli tercihtir. Kararı işlemci adına göre değil, uygulamanızın uyumluluk matrisi ve gerçek yük testiyle verin.
İçindekiler
- ARM ve x86 VPS farkı nereden kaynaklanır?
- ARM ve x86 VPS karşılaştırması
- Hangi uygulamalar ARM64 VPS üzerinde rahat çalışır?
- Ne zaman x86 VPS seçmek daha güvenlidir?
- Docker imajlarında mimari desteği nasıl kontrol edilir?
- Performans ve maliyet farkı nasıl ölçülür?
- ARM VPS'e geçmeden önce hangi uyumluluk testleri yapılmalı?
- Taşınabilirlik, yedek ve işletim sistemi ayrıntıları
- Kararı iş yüküne göre verin
- VPS Mimarisi Seçmeden Önce Kontrol Edin
- Sık Sorulan Sorular
- Kaynaklar
ARM ve x86 VPS farkı nereden kaynaklanır?
VPS seçerken işlemci mimarisi yalnızca işlemcinin markasını belirlemez; işletim sistemi imajından Docker container’larına, hazır yazılımlardan derleme süresine kadar birçok katmanı etkiler. x86-64, masaüstü ve sunucu ekosisteminde geniş uyumluluk sunarken ARM64 bazı iş yüklerinde daha iyi fiyat-performans sağlayabilir. Seçim, uygulamanızın mimari desteği doğrulanmadan yapılmamalıdır.
x86-64 ile ARM64 arasındaki fark, sanal makine içinde de devam eder. VPS sağlayıcısı fiziksel sunucuyu sanallaştırsa bile konuk işletim sistemi kendisini genellikle x86_64 veya aarch64 olarak görür. Mimariyi ilk dakikada kontrol etmek için şu komut yeterlidir:
uname -m
lscpu | grep -E 'Architecture|Model name'
x86_64 çıktısı 64 bit x86 uyumluluğunu, aarch64 çıktısı ise 64 bit ARM mimarisini gösterir. Bu bilgi uygulama kurulumundan önce alınmalıdır; yanlış mimari için hazırlanmış paket, “dosya bulunamadı” veya “exec format error” gibi ilk bakışta yanıltıcı görünen hatalar üretebilir.
Ne yapılmalı – VPS siparişinden önce sağlayıcının sunduğu mimariyi ve işletim sistemi imajının bu mimariyi destekleyip desteklemediğini doğrulayın.
ARM ve x86 VPS karşılaştırması
| Kriter | x86-64 VPS | ARM64 VPS |
|---|---|---|
| Yazılım uyumluluğu | En geniş hazır paket ve ticari yazılım desteği | ARM64 paketi veya kaynak koddan derleme gerekebilir |
| Docker imajları | amd64 etiketli imajların çoğu doğrudan çalışır | arm64 manifesti bulunan imajlar sorunsuz çalışır |
| Windows kullanımı | Windows Server iş yükleri için yaygın tercih | Sağlayıcı ve Windows sürümü desteği ayrıca doğrulanmalı |
| Derleme davranışı | x86 hedefleyen araçlar genellikle hazır gelir | Yerel ARM derlemesi gerekebilir; emülasyon yavaşlayabilir |
| Enerji ve yoğunluk | İş yüküne göre değişir | Veri merkezi tasarımında enerji verimliliği avantajı sağlayabilir |
| Taşınabilirlik | Bulutlar ve hosting ortamları arasında geçiş daha kolay olabilir | İmaj ve bağımlılıkların çoklu mimari desteği kontrol edilmelidir |
Bu tablo genel eğilimi gösterir; aynı sağlayıcıdaki iki VPS planının gerçek performansı vCPU kotası, CPU modeli, disk türü ve komşu sanal makinelerin yüküne göre değişebilir. ARM otomatik olarak hızlı, x86 otomatik olarak pahalı değildir. Fiyat listesinden önce çalıştırılacak iş yükünün davranışına bakılmalıdır.
Hangi uygulamalar ARM64 VPS üzerinde rahat çalışır?
Linux tabanlı web sunucuları ARM64 üzerinde çoğu zaman sorunsuz çalışır. Nginx, Caddy, Apache, PostgreSQL, MariaDB, Redis ve uygulamanın kullandığı çalışma zamanının ARM64 paketi mevcutsa mimari değişikliği günlük yönetimi büyük ölçüde değiştirmez. Debian’ın ARM portları ve Ubuntu Server’ın ARM64 imajları bu kullanım biçiminin temelini oluşturur.
Statik web sitesi, ters proxy, DNS servisi, izleme ajanı, Git sunucusu ve kaynak kodu erişilebilir bir API uygulaması ARM için uygun adaylardır. Go, Rust, Java ve Python ekosistemlerinde ARM64 desteği genellikle güçlüdür; yine de kullanılan kütüphanelerin native bağımlılıkları ayrıca test edilmelidir.
Örneğin bir Python uygulaması yalnızca saf Python paketleri kullanıyorsa mimari farkı çoğunlukla görünmez. numpy, cryptography, görüntü işleme kütüphaneleri veya özel C/C++ eklentileri devreye girdiğinde wheel paketinin ARM64 için bulunup bulunmadığı önem kazanır. Paket yoksa kurulum kaynak koddan derlemeye dönebilir ve RAM ile CPU tüketimi artabilir.
ARM VPS, aşağıdaki koşullar sağlanıyorsa mantıklı bir ilk adaydır:
- Uygulama Linux üzerinde çalışıyor ve ARM64 paketine sahip.
- Docker imajları
linux/arm64manifesti yayımlıyor. - Özel binary, kapalı kaynak eklenti veya yalnızca x86 için hazırlanmış lisanslı bileşen bulunmuyor.
- CI/CD hattında ARM64 için test veya derleme adımı eklenebiliyor.
Ne yapılmalı – Uygulamanızın bağımlılıklarını temiz bir ARM64 test makinesinde kurun. Yalnızca ana uygulamanın açılmasını değil, yedekleme ve güncelleme akışını da deneyin.
Sahadan not
Bir ARM64 test sunucusunda Python bağımlılıklarını kurarken beklenen wheel paketinin bulunmadığını gördüm. Kurulum kaynak koddan derlemeye döndü ve işlem, aynı paketin x86-64 makinedeki kurulumundan belirgin biçimde uzun sürdü; o günden beri bağımlılık envanterine mimari bilgisini de ekliyorum.
Ne zaman x86 VPS seçmek daha güvenlidir?
x86-64, belirsizliğin maliyeti yüksek olduğunda daha güvenli varsayılandır. Özellikle eski PHP uzantıları, yalnızca amd64 yayımlanan Docker imajları, ticari kontrol panelleri, Windows Server, sanal makine iç içe çalıştırma gereksinimi veya kapalı kaynak uygulamalar söz konusuysa x86 uyumluluk sorunlarını azaltır.
WordPress çekirdeği PHP ile çalışsa da kullanılan eklentiler ve tema bileşenleri mimari farkını görünür hâle getirebilir. Yaygın PHP sürümleri Linux üzerinde ARM64’e kurulabilir; fakat üçüncü taraf bir eklenti kendi binary dosyasını getiriyorsa destek durumu sağlayıcıya veya geliştiriciye bağlıdır. WordPress için VPS’te WordPress Kurulumu: Adım Adım Rehber incelenirken PHP eklentilerinin mimarisini ayrıca kontrol etmek gerekir.
Windows tarafında seçim daha dikkatli yapılmalıdır. Bir VPS planı ARM işlemci sunuyor diye her Windows Server imajının veya yönetim aracının ARM üzerinde çalışacağı varsayılamaz. Active Directory, klasik .NET Framework uygulamaları, bazı yedekleme istemcileri ve donanım sürücülerine bağlı yazılımlar için sağlayıcının açık desteği aranmalıdır.
Kurumsal bir uygulamanın üretici dokümantasyonunda yalnızca “Linux” yazması yeterli değildir. Desteklenen mimariler arasında amd64, x86_64, arm64 veya aarch64 ifadelerinden biri açıkça yer almalıdır. Destek matrisi yoksa x86-64 daha az sürprizli seçimdir.
Docker imajlarında mimari desteği nasıl kontrol edilir?
Container, uygulamayı mimariden tamamen bağımsız yapmaz. Docker imajı tek bir mimari için yayımlanmışsa yalnızca o platformda çalışır. Çoklu mimari imajlarda registry, istemcinin platformuna uygun manifesti seçer. Docker dokümantasyonunda bu yapı multi-platform image olarak açıklanır.
Bir imajın manifest listesini kontrol etmek için Docker Buildx kullanılabilir:
docker buildx imagetools inspect nginx:1.27
Çıktıda linux/amd64 ve linux/arm64 satırlarının bulunması, imajın iki mimari için de yayımlandığını gösterir. Yalnızca linux/amd64 görünüyorsa ARM VPS üzerinde doğrudan çalıştırma beklenmemelidir.
Yerel makinede çalışan container imajının mimarisini görmek için:
docker image inspect nginx:1.27 --format '{{.Architecture}}/{{.Os}}'
Burada çıkan değer amd64/linux veya arm64/linux biçiminde olur. Bir imaj ARM üzerinde emülasyonla çalıştırılabilir; fakat bu çözüm üretim için otomatik olarak uygun değildir. Özellikle CPU yoğun derleme, veritabanı veya görüntü işleme işlerinde emülasyon gecikmeyi artırabilir.
Docker Compose dosyasında platformu zorla sabitlemek sorunu çözmek yerine gizleyebilir. platform: linux/amd64 satırı ARM host üzerinde QEMU emülasyonuna yol açabilir. Bu, geçici test için işe yarasa da sürekli üretim yükünde gerçek ARM imajı hazırlamak veya x86 VPS kullanmak daha sağlıklı olabilir.
Ne yapılmalı – Her container imajı için manifesti kontrol edin. ARM64 imajı yoksa emülasyon yerine üretim kararını performans testiyle verin.
İpucu
Bir uygulamayı ARM'a taşımadan önce bağımlılık listesindeki her paketin mimarisini kontrol edin. Docker kullanıyorsanız docker buildx imagetools inspect IMAGE:TAG komutunu çalıştırıp linux/arm64 satırını arayın.
Performans ve maliyet farkı nasıl ölçülür?
“ARM daha ucuzdur” veya “x86 daha hızlıdır” tek başına kullanılabilecek teknik sonuçlar değildir. VPS performansı vCPU’nun gerçek işlemci paylaşımına, frekans politikasına, RAM hızına, disk IOPS sınırına ve ağ kapasitesine bağlıdır. Aynı 4 vCPU etiketi, iki farklı sağlayıcıda aynı iş miktarını ifade etmeyebilir.
Karşılaştırma uygulamanın gerçek iş akışıyla yapılmalıdır. Web sunucusu için istek başına gecikme ve saniyedeki istek sayısı, veritabanı için sorgu gecikmesi ve disk davranışı, derleme sunucusu için tamamlanma süresi ölçülür. Yalnızca sysbench cpu sonucu üretim davranışını temsil etmez.
sysbench cpu --threads=4 --time=60 run
iostat -xz 1 5
free -h
sysbench CPU hesaplama kapasitesini, iostat disk gecikmesi ve kullanımını, free ise bellek durumunu gösterir. Test sırasında swap kullanımı, CPU steal zamanı ve disk kuyruğu da kaydedilmelidir. Prometheus ve Grafana ile izleme kurulmuşsa VPS’te Prometheus ve Grafana ile İzleme yaklaşımı, ARM ve x86 sonuçlarını aynı panoda karşılaştırmayı kolaylaştırır.
Maliyet hesabına taşıma ve bakım süresi de eklenmelidir. ARM VPS aylık olarak daha ucuz olsa bile yalnızca x86 imajlarını yeniden derlemek, özel paketleri elle üretmek veya CI hattını iki mimaride tutmak operasyon maliyetini artırabilir. Yoğun ve sürekli çalışan Linux servisinde ARM’ın daha iyi fiyat-performans vermesi de mümkündür.
ARM VPS’e geçmeden önce hangi uyumluluk testleri yapılmalı?
Geçiş, yeni VPS sipariş edip DNS’i değiştirmekten ibaret değildir. Önce uygulamanın bağımlılık envanteri çıkarılmalıdır. İşletim sistemi paketleri, Docker imajları, PHP veya Node.js native modülleri, cron görevleri, izleme ajanları, yedekleme istemcileri ve sağlayıcıya özel eklentiler ayrı ayrı listelenir.
- Test ortamının mimarisini
uname -mile doğrulayın. - Uygulama bağımlılıklarını temiz kurulumda yükleyin.
- Docker manifestlerini ve özel binary dosyalarını kontrol edin.
- Veritabanı yedeğini geri yükleyip temel sorguları çalıştırın.
- Dosya yükleme, kuyruk, cron ve e-posta gönderim akışlarını deneyin.
- CPU, RAM, disk ve ağ metriklerini normal yük altında kaydedin.
- DNS değişikliğinden önce geri dönüş VPS’ini hazır tutun.
İşletim sistemi paket yöneticisi de kontrol edilmelidir. Debian veya Ubuntu üzerinde mevcut mimariyi şu şekilde görebilirsiniz:
dpkg --print-architecture
dpkg --print-foreign-architectures
İlk komut ana paket mimarisini gösterir. İkinci komut eklenmiş yabancı mimarileri listeler; boş çıktı normaldir. Üretim sunucusunda yalnızca “paket kuruldu” demek yeterli değildir. Servisin açılması, log üretmemesi, yedeklenmesi ve yeniden başlatma sonrasında geri gelmesi de doğrulanmalıdır.
Ne yapılmalı – DNS’i taşımadan önce ARM test ortamında yedekten dönüş ve yeniden başlatma provasını tamamlayın.
Dikkat
ARM host üzerinde platform: linux/amd64 kullanmak container'ı emülasyonla çalıştırabilir, fakat bu satır gerçek ARM uyumluluğu anlamına gelmez. CPU yoğun veya sürekli çalışan servislerde gecikme ve kaynak tüketimini ayrıca ölçün.
Taşınabilirlik, yedek ve işletim sistemi ayrıntıları
Bir VPS’in disk yedeği çoğu zaman aynı mimarideki başka bir VPS’e taşınmak üzere hazırlanır. x86-64 imajını ARM64 sunucuya kopyalamak işletim sistemi dosyalarını taşımakla bitmez; kernel, boot imajı, paket mimarisi ve binary dosyalar da uyumlu olmalıdır. Sağlayıcının snapshot formatı mimariler arasında taşınabilir olsa bile uygulama katmanı ayrıca test edilmelidir.
Uygulama yedeği mimariden daha taşınabilirdir. Veritabanı dump’ı, yüklenen dosyalar, yapılandırma dosyaları ve secret yönetimi ayrı tutulursa yeni mimariye geçiş kolaylaşır. Dockerfile içinde sabit bir amd64 binary indirmek yerine hedef mimariye göre paket seçmek de önemlidir.
Örneğin CI sürecinde şu değişkenler kullanılabilir:
docker buildx build \
--platform linux/amd64,linux/arm64 \
--tag registry.example/app:1.4.0 \
--push .
Bu komut iki platform için imaj üretip registry’ye gönderir. Derleme süresi ve registry depolama maliyeti artabilir; buna karşılık aynı uygulama imajının iki mimaride de tutarlı yayımlanması kolaylaşır. Docker’ın çoklu platform derleme modeli Buildx ve BuildKit bileşenlerini kullanır.
Snapshot da tek başına geri dönüş planı değildir. Snapshot sağlayıcının aynı platformundaki yeni bir VPS’e döndürülebilir; fakat bozuk uygulama verisini de geri getirebilir. Ayrı dosya ve veritabanı yedekleri, farklı mimariye geçişte daha esnek bir kurtarma yolu sağlar.
Kararı iş yüküne göre verin
ARM ve x86 VPS farkı en çok uygulamanın bağımlılıklarında görünür. Linux tabanlı, container imajları çoklu mimari olan, kaynak kodu erişilebilir ve yatay ölçeklenebilen servislerde ARM64 güçlü bir adaydır. Uyumluluk matrisi belirsiz, Windows tabanlı, ticari veya eski binary bağımlılıkları olan sistemlerde x86-64 daha güvenli başlangıç noktasıdır.
| Senaryo | İlk tercih | Karar gerekçesi |
|---|---|---|
| Statik site ve ters proxy | ARM64 veya x86-64 | İki mimaride de yaygın destek vardır |
| Modern Docker tabanlı API | ARM64 değerlendirilebilir | İmaj manifesti ve native bağımlılıklar kontrol edilmelidir |
| WordPress ve bilinmeyen eklentiler | x86-64 | Üçüncü taraf binary uyumluluğu daha öngörülebilirdir |
| Windows Server uygulaması | x86-64 | Sağlayıcı ve uygulama desteği daha geniştir |
| CI/CD derleme sunucusu | İhtiyaca göre iki mimari | Hedef platformlar ayrı ayrı derlenmelidir |
| Yoğun veritabanı | Benchmark sonucu | CPU’dan önce disk gecikmesi ve RAM sınırı ölçülmelidir |
Karar verilemiyorsa küçük bir test VPS’iyle başlamak daha makuldür. Uygulamanın gerçek trafiğini, yedekleme süresini ve hata kayıtlarını gözlemleyin. Üçüncü gün çalışan bir demo değil, güncelleme ve geri dönüş sonrasında da çalışan bir sistem gerekir.
İzleme tarafında mimari değişikliği görünmez bırakmayın. Node Exporter, uygulama metrikleri ve disk alarm eşikleri yeni sunucuda yeniden doğrulanmalıdır. Ayrıca Domain ve URL Farkı Nedir? Örneklerle Açıklama gibi DNS katmanını anlatan kaynaklarda görüldüğü üzere, DNS değişikliği uygulama uyumluluğunu çözmez; isim doğru sunucuya gidebilir ama servis yanlış binary nedeniyle yine açılmayabilir.
Ne yapılmalı – Uyumluluk belirsizse x86-64 ile başlayın. ARM64’e geçişi ölçümlü bir test ve geri dönüş planıyla yapın.
Örnek
Bir API servisi ARM64 üzerinde çalışıyor, fakat görsel işleme eklentisi yalnızca amd64 binary yayımlıyorsa uygulamanın yalnızca web katmanı taşınamaz. Bu durumda eklentiyi ARM için derlemek, ayrı bir x86 worker çalıştırmak veya tüm servisi x86-64 üzerinde tutmak gerekir.
VPS Mimarisi Seçmeden Önce Kontrol Edin
- Uygulamanızın desteklediği CPU mimarilerini doğrulayın.
- İşletim sistemi imajının ARM64 veya x86-64 desteğini kontrol edin.
- Docker imajlarında linux/arm64 ve linux/amd64 manifestlerini inceleyin.
- Native kütüphaneleri ve kapalı kaynak binary dosyalarını listeleyin.
- Gerçek uygulama yüküyle CPU, RAM, disk ve ağ testi yapın.
- Yedekten dönüşü ve yeniden başlatma sonrasını test edin.
- DNS değişikliğinden önce geri dönüş VPS'ini hazır tutun.
Karar vermeden önce uygulamanızın bağımlılıklarını küçük bir ARM64 ve x86-64 test VPS'inde karşılaştırın. Birkaç dakikalık mimari kontrolü, taşıma sonrasında saatler sürecek hata ayıklamadan daha ucuzdur.
Sık Sorulan Sorular
ARM VPS mi x86 VPS mi daha hızlıdır?
Tek bir mimarinin her iş yükünde daha hızlı olduğu söylenemez. Performans; vCPU modeline, disk gecikmesine, RAM sınırına ve uygulamanın derlenme biçimine bağlıdır. ARM64 bazı Linux ve container iş yüklerinde iyi sonuç verebilir. x86-64 ise hazır binary ve ticari yazılım uyumluluğunda avantajlıdır. Kararı aynı veri setiyle yapılan uygulama benchmark'ı belirlemelidir.
WordPress için ARM VPS kullanılabilir mi?
Evet, WordPress çekirdeği ve Linux üzerindeki PHP ARM64 VPS'te çalışabilir. Risk genellikle çekirdekte değil, eklentilerin veya tema bileşenlerinin yalnızca x86 binary dosyalarına bağlı olmasından çıkar. PHP uzantılarını, image processing kütüphanelerini, yedekleme aracını ve kontrol panelini önceden test edin. Eklenti desteği belirsizse x86-64 daha düşük uyumluluk riski taşır.
Docker container ARM VPS'te çalışır mı?
Container'ın ARM VPS'te çalışması, imajın linux/arm64 desteğine bağlıdır. docker buildx imagetools inspect image:tag komutunun çıktısında bu platformu arayın. Yalnızca amd64 imajları emülasyonla çalıştırılabilir; ancak üretimde CPU yoğunluğu, gecikme ve bakım maliyeti ölçülmeden bu yöntem tercih edilmemelidir. Çoklu mimari imaj yayımlamak daha taşınabilir bir çözümdür.
ARM VPS üzerinde Windows Server kurulabilir mi?
Bu durum sağlayıcıya, sunucu donanımına ve Windows sürümüne göre değişir; ARM VPS planı tek başına Windows Server uyumluluğu anlamına gelmez. Kullanılan uygulamanın ARM64 desteği, sürücüleri, uzaktan yönetim araçları ve lisans koşulları birlikte kontrol edilmelidir. Klasik .NET Framework veya x86 sürücülere bağlı uygulamalarda x86-64 VPS genellikle daha öngörülebilir bir seçimdir.
ARM VPS'e geçerken yedek nasıl hazırlanır?
Disk snapshot'ına güvenmek yerine veritabanı dump'larını, uygulama dosyalarını, yapılandırmaları ve secret kayıtlarını ayrı yedekleyin. Yeni ARM64 VPS'te temiz işletim sistemi kurup uygulamayı yeniden dağıtmak, mimari farklarını yönetmeyi kolaylaştırır. Yedeği gerçek bir test ortamında geri yükleyin; servis başlatma, cron, e-posta ve dosya yükleme akışlarını doğrulamadan DNS'i taşımayın.
ARM VPS neden bazı paketleri kuramıyor?
Paket deposunda kullanılan dağıtım ve sürüm için ARM64 paketi bulunmuyor olabilir. Alternatif olarak paket, yalnızca x86-64 binary içeren bir üçüncü taraf repository'den geliyor olabilir. dpkg –print-architecture ile sistemi, paket dokümantasyonuyla da desteklenen mimarileri kontrol edin. Kaynak koddan derleme mümkün olsa bile derleme süresi, bağımlılıklar ve sonraki güncellemeler üretim kararına dahil edilmelidir.
Kaynaklar
- Debian – ARM Ports — debian.org
- Ubuntu Server – Architectures — ubuntu.com
- Docker Docs – Multi-platform builds — docs.docker.com
- Docker Docs – docker buildx imagetools inspect — docs.docker.com