Paket sayfaları RAM'i öne çıkarır, ama dolu bir disk de sunucuyu aynı kesinlikle çökertir. "No space left on device" ile veritabanları yazmayı, siteler yanıt vermeyi bırakır; ne kadar bellek boş olursa olsun. Neyin büyüdüğünü bildiğinizde disk kullanımını öngörmek kolaydır. Kendi imajlarımızdan yeni sunucular başlattık ve olağan şüphelilerin her birini ölçtük.
Yeni bir sunucu ne kadar yer tutar
İlk açılıştan hemen sonra ölçüldü:
| Sistem | Kullanılan alan |
|---|---|
| Alpine Linux 3.21 | 153 MB |
| Debian 12 | 1,2 GB |
| Ubuntu 24.04 | 2,7 GB |
| Windows Server 2022 | 14,0 GB |
Linux'ta 15 GB'lık Nano ilk günden neredeyse tamamen sizindir. Windows, siz hiçbir şey kurmadan 50 GB'ının dörtte birinden fazlasını kullanır ve aşağıda göreceğiniz gibi güncellemeler daha fazlasını alır.
Ubuntu'nun 2,7 GB'ının bir kısmını geri almak kolaydı. 440 MB ilk açılıştaki güncellemelerin paket önbelleğiydi ve biri kullanılırken üç çekirdek kuruluydu. İki komut kullanımı 2,16 GB'a indirdi:
sudo apt clean
sudo apt autoremove --purge
Docker: imajlar hızla birikir
Docker'ın kendisini kurmak yaklaşık 300 MB ekledi. Asıl belirleyici imajlar. Sekiz yaygın imajı art arda indirdik ve her seferinde diskin ne kadar büyüdüğünü ölçtük:
| İmaj | Eklenen alan |
|---|---|
nginx:alpine | 91 MB |
nginx:latest | 232 MB |
postgres:16 | 501 MB |
python:3.12-slim | 59 MB |
node:22 | 1.564 MB |
mariadb:11 | 437 MB |
wordpress:latest | 960 MB |
redis:7-alpine | 55 MB |
| Toplam | 3,9 GB |
Ortak tabanı olan imajlar onun katmanlarını yeniden kullanır; bu yüzden python:3.12-slim yalnızca 59 MB ekledi, çünkü aynı Debian tabanını nginx:latest ve postgres:16 zaten getirmişti. Alpine tabanlı imajlar tam olanlardan kat kat küçüktür. Tek başına node:22 1,5 GB tutar; bu yüzden mümkünse node:22-slim ya da node:22-alpine üzerine kurun.
İmajlar güncellemelerle üst üste biner: her docker compose pull eski sürümü geride bırakır. Test sunucumuzda tek bir komut hepsini kaldırdı:
docker system df
docker system prune -a
4,1 GB geri kazanıldığını bildirdi. prune -a hiçbir konteynerin kullanmadığı her imajı siler, bu yüzden yığınınız çalışırken çalıştırın. --volumes eklemezseniz birimlere dokunmaz.
Günlükler: bir diski bir gecede dolduran şey
Docker bir konteynerin yazdırdığı her şeyi saklar, varsayılan olarak da boyut sınırı olmadan. Döngü içinde kısa bir satır yazdıran bir konteyner çalıştırdık; bir sağlık denetiminin ya da hata ayıklama modunun ürettiği türden bir çıktı. 30 saniye sonra günlük dosyası 6 MB'tı. Bu hızla günde yaklaşık 17 GB yazardı, bir Micro paketinin tüm diskinden fazla.
Tüm yeni konteynerler için /etc/docker/daemon.json dosyasında bir sınır belirleyin:
{
"log-driver": "local",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Ardından sudo systemctl restart docker çalıştırın ve konteynerlerinizi yeniden oluşturun (docker compose up -d --force-recreate). Mevcut konteynerler oluşturuldukları ayarları korur. Sınırla birlikte aynı test konteynerinin günlüğü 30 saniye sonra 4 MB'tı ve asla 30 MB'ı geçemez.
Sistem günlüğünün zaten bir tavanı var: 25 GB'lık Ubuntu sunucumuzda journald kendini dosya sisteminin onda biri olan 2,3 GB ile sınırlıyor. 15 MB kullanıyordu.
Windows: güncellemelerin yere ihtiyacı var
Windows Server 2022 imajımız 2022 tarihliydi, bu yüzden onu güncelledik. İlk toplu güncelleştirme kurulurken kullanım 12,6 GB'tan 20,8 GB'a çıktı, ikincisinden sonra 24,5 GB'a ulaştı. Windows, bir güncellemenin değiştirdiği her sistem dosyasının eski sürümünü saklar. Temizlik onu 14,6 GB'a geri indirdi ve güncellenmiş imajdan oluşturulan yeni bir sunucu artık 14 GB ile başlıyor. Bir sonraki güncelleme için en az 10 GB boş bırakın. Temizlik komutları Windows güncelleme rehberinde.
Ne seçmeli
| Ne çalıştırıyorsunuz | Rahat disk | Paket |
|---|---|---|
| Bir bot, bir VPN, küçük bir statik site | 15 GB | Nano, $3/ay |
| Birkaç imajlı bir Docker yığını | 25 GB | Micro, $5/ay |
| Veritabanı ve yüklemelerle WordPress, birkaç yığın | 35 GB | Small, $8/ay |
| Büyük veritabanları, çok sayıda imaj, yerel yedekler | 45 GB | Medium, $12/ay |
| Windows Server 2022 | 50–60 GB | Windows-Small, $11/ay |
İki kural hangisini seçerseniz seçin daha uzun dayanmasını sağlar: dağıtımdan önce konteyner günlüklerini sınırlayın ve yedekleri sunucunun diskinde tutmak yerine sunucu dışına kopyalayın. Sunucu zaten dolduysa disk alanı boşaltma rehberimiz adım adım yol gösterir. Boyutlandırmanın bellek tarafı için bir VPS'e ne kadar RAM gerekir yazısına bakın. Tüm paketler VPS sayfasında; ödeme Base, Ethereum veya Polygon ağlarında USDT, USDC veya ETH ile yapılır.
Yorumlar
Henüz yorum yok. İlk olun.