Donanım seçimi
29.12.2022
Giriş
200'den fazla kamera bir sunucuda 300 euroya nasıl çalıştırılır?
Bize sık sık belirli donanım kaynaklarına sahip bir sunucuda Yucca'ya kaç kamera eklenebileceği soruluyor. Bu sorunun cevabı her zaman duruma özeldir ve herkese uyan tek bir yanıt yoktur. Çok şey kamera türüne, bit hızına, işlemciye ve diğer değişkenlere bağlıdır. Bu yüzden, müşterilerimizden birinin sunucusundan bazı istatistikler toplamaya, ekran görüntüleri ve ayrıntılı açıklamalarla paylaşmaya karar verdik; böylece herkes kendi durumu için ne kadar kaynak gerektiğine dair bir fikir edinebilir...
Raspberry Pi 4 üzerinde çalıştırma hakkında benzer istatistikler de yayınlamıştık
Bizim kurulumumuz
Bu, Yucca 0.7.2 sürümü, bağlı 154 kamera, neredeyse 4 yıllık arşiv derinliği ve kameralardan gelen akış bit hızı yaklaşık 1M (saniyede megabit). Yucca'nın yanı sıra, aynı sunucuda veritabanı olarak postgresql de çalışıyor.
(Aynı dashboard'a sahip olmak isterseniz, talimatlar bu bağlantıda mevcuttur)
Peki tüm bunlar için hangi kaynaklar kullanılıyor ve ne kadarı kullanılıyor?
Anakart
Z8NR-D12 çok eski bir şasi, ikinci el piyasadan yaklaşık 200 euroya bir tane satın alabilirsiniz.
bildiğimiz bir pazar yerinden bir ekran görüntüsü
Bu özel seçenekte muhtemelen ikinci bir güç kaynağı eksik, ancak örneğin Supermicro'dan benzer bir şasi arayabilirsiniz.
İşlemci (CPU)
Intel(R) Xeon(R) CPU X5690 @ 3.47GHz - her biri 12 iş parçacığına sahip 2 işlemci, toplamda 24 veriyor. İkinci el piyasada bir tanesini yaklaşık 30 euroya bulabilirsiniz.
CPU en önemli kaynaklardan biridir – akış sayısı arttıkça her zaman tıkanacağınız şey odur. Ne kadar çok akış olursa, o kadar çok süreç olur ve o kadar çok CPU zamanına ihtiyacımız olur. Bu nedenle izlenmesi gereken en önemli şey, 1. ekran görüntüsündeki gibi kullanım oranı değil, LA yani Load Average'dır (bunun ne olduğunu bilmiyorsanız, buradan okuyabilirsiniz) – 2. ekran görüntüsüne bakın.
24 saatlik kullanım oranına bakalım; burada zirveler var, ancak ortalama kullanım yaklaşık %30

Günlük LA grafiği de benzer bir tablo gösteriyor, yaklaşık %30 - %40

Bunun 150 kamera için bir okuma olduğunu unutmayın, yani sunucu kabaca yarı doludur ve kameraların benzer bir bit hızına sahip olması koşuluyla, teorik olarak aynı sayıda kamera daha eklenebilir.
LA değeri zaten birin üzerinde olan sunuculara kamera eklemenizi önermiyoruz. LA > 1 kuyruğun sürekli büyüyeceği ve hizmet sorunları ile bozulmanın neredeyse kaçınılmaz olduğu anlamına gelir – ya daha fazla CPU'ya ya da başka bir Yucca sunucusuna ihtiyacınız vardır. Bu nedenle çok sayıda müşteri ve kamera olduğunda, her zaman önce kurulumlarınızı izleme sisteminde görselleştirin ve metrikleri takip edin.
RAM
9965447-034.A00LF - sunucu ECC belleği, ikinci el piyasada kart başına yaklaşık 10 euro.
Bizim durumumuzda 16 gigabayt (işlemci soketi başına 8), 3 kat marjla fazlasıyla yeterlidir ve kullanım yaklaşık 4 gigabayttır.
Disk
Disk dizileri, bunun nasıl doğru ve nasıl yanlış yapılacağına dair ayrı bir yazıyı hak eden bir konudur, öngörülen hacmi elle nasıl kabaca hesaplayacağınızı anlatacağım, ancak bit hızınız ve dizi türünüz için her zaman bir çevrimiçi hesap makinesi bulabilirsiniz.
Bu özel kurulumda, müşterimiz yalnızca genel kameralar barındırıyor ve bu kameralardan beklenmedik bir arşiv kaybı onlar için kritik değil. Bu yüzden arşiviniz önemli bir değere sahipse, burada anlatıldığı gibi bunu yapmayın.
ST10000VN0004-1Z - Seagate IronWolf 10Tb NAS.
Raid0 yapılandırmasında 4 birim 37 terabayt verir, birim başına yaklaşık 200 euro maliyetle.
$ df -h | grep yucca
/dev/md0 37T 15T 20T 43% /opt/yucca/data/alloc
$ cat /etc/mdadm/mdadm.conf
DEVICE partitions
ARRAY /dev/md0 level=raid0 num-devices=4 metadata=1.2 name=yucca:0 UUID=xxx
Elbette bu Raid0 olduğundan, 150 kameradan paralel olarak arşiv yazarken herhangi bir performans sorunu yaşamıyoruz, 300 ile de sorun olmaz, ancak hata toleransı sıfırdır, bu yüzden herkes kendisi için doğru çözümü seçmelidir.
Arşiv için ne kadar alan gerektiğini hesaplama
150 özdeş kameramız olduğunu ve akış bit hızının 2M olduğunu, bunlardan 14 günlük bir derinlikte arşiv yazmak istediğimizi varsayalım:
- saniyede 2 megabit, bu 2/8 = 0,25 megabayt
- 0.25 * 60 * 60 = saatte 900 megabayt
- 900 * 24 = 21600 megabayt => kamera başına günde 21,6 gigabayt
- 21,6 * 14(gün) = kamera başına 14 günde 302,4 gigabayt
- 302,4 * 150 = 45360 gigabayt => 45,36 terabayt
Bu basit hesaplama, arşivimizin ne kadar yer kaplayacağını kabaca tahmin etmenizi sağlar. Dizilerin %99 kapasiteye kadar doldurulmaması gerektiğini ve en az %5-10'unun boş bırakılmasının daha iyi olduğunu belirtmek de gerekir.
Sonuçlar
Yani, yaklaşık 300 euroya bir şasi + işlemciler + RAM ve 400 euroya bir disk dizisine sahibiz. Toplamda, 300 kameraya kadar kapasiteye sahip müşterilere hizmet satabilme imkânı sunan tam donanımlı bir çalışan çözüm için yaklaşık 700 euro.
Biraz hayal kuralım...
Bir Yucca lisansı ayda 40 euroya mal olur ve herhangi bir kamera sınırımız yoktur – modern bir şasiniz ve 10.000 kameranız varsa, sizi engellemeyiz :) Sağlayıcıların şu anda 14 günlük arşivli bir kamera için uyguladığı ortalama tarife ayda yaklaşık ~5-7 euro, yani böyle bir sunucuda neredeyse hiç masraf yapmadan ayda 1500 euro kazanabilir ve 1 ayda amorti edebilirsiniz – tabii bunun için zaten hazır 300 müşteriniz olduğunu varsayarsak 🙂
Sonuna kadar okuyan herkese teşekkürler!
Web sitemizdeki iletişim formu üzerinden, info@yucca.app adresine yazarak veya topluluğun Telegram sohbetinde soru sorabilirsiniz.

