Feature

Eine Benchmark-Analyse einer IoT-Implementierung im Cluster-Betrieb

Sie fragen sich, wie viel Effizienz und Geschwindigkeit ein Cluster Ihrem IoT-System bringen kann? Werfen Sie einen Blick auf unseren Vergleich.

TagoIO Team ·
Eine Benchmark-Analyse einer IoT-Implementierung im Cluster-Betrieb

In früheren Blogbeiträgen haben wir die Vorteile von IoT-Clustern besprochen und gezeigt, wie sie unter anderem für Verfügbarkeit und Skalierbarkeit sorgen können. Jetzt schauen wir uns an, wie sie auf konkreter Hardware abschneiden. In diesem Beitrag haben wir drei Setups mit identischer Hardware-Konfiguration getestet, um die CPU-Leistung der jeweiligen Gesamtlösung bei der Umsetzung einer IoT-Anwendung zu bewerten.

Hardware

Für diese Benchmark-Analyse haben wir die folgende Hardware verwendet:

Radxa ROCK Pi 4GB Ram 16GB 6GB Storage 256GB HDeMMC: NCEMASLD-32G

Radxa ROCK Pi 4GB Ram

Mac Mini M1

Prozessor Apple M1 8-Core CPU Dual Cortex-A72 1,8 GHz und Quad Cortex-A53 1,4 GHz

Prozessor Apple M1 8-Core CPU Dual Cortex-A72

Mac Mini M1Radxa ROCK Pi 4B (Quelle: Radxa)

Das Setup

Wie bereits erwähnt, gab es drei Setups. In allen drei sendete der MacBook mini HTTP-Requests mit drei Variablen pro Request an den ROCK Pi.

TagoCore mit SQLite

1x ROCK Pi mit SQLite-Datenbank, auf dem TagoCore läuft.

1x Mac mini als Geräte-Simulator

Cluster-Setup TagoCore mit SQLite

TagoCore mit externer PostgreSQL

1x ROCK Pi, auf dem TagoCore läuft.

1x Mac mini als Geräte-Simulator mit PostgreSQL-Datenbank

Cluster-Setup TagoCore mit externer PostgreSQL

TagoCore-Cluster mit externer PostgreSQL

3x ROCK Pi, auf denen TagoCore als Cluster läuft.

1x Mac mini als Geräte-Simulator mit PostgreSQL-Datenbank

Die Requests wurden über einen Load Balancer verteilt, der die Last per Round-Robin-Algorithmus auf die drei ROCK Pi aufteilte.

TagoCore-Cluster mit externer PostgreSQL

Die Ergebnisse

Wir haben drei Szenarien bewertet, in denen wir die Datenrate (Requests pro Minute) verändert und alle anderen Faktoren konstant gehalten haben.

Erstes Szenario: 1.600 Requests pro Minute,

Zweites Szenario: 5.200 Requests pro Minute,

Drittes Szenario: 10.400 Requests pro Minute.

Erstes Szenario

Im ersten Szenario ist der Unterschied zwischen dem Cluster und den beiden anderen Setups deutlich, wie die folgende Grafik zeigt. TagoCore im Cluster-Betrieb nutzt fast 20 % weniger CPU als das Setup mit TagoCore und SQLite und knapp 12 % weniger als TagoCore mit externer PostgreSQL.

Bemerkenswert ist auch der Unterschied zwischen dem ersten und dem zweiten Fall: Das erste Setup mit SQLite auf dem ROCK Pi verbrauchte mehr CPU als das mit externer PostgreSQL.

Vergleich der Ergebnisse beim Einsatz eines Clusters für IoT-Anwendungen

Zweites Szenario

Im zweiten Szenario haben wir die Belastung erhöht und 5.200 Requests pro Minute gesendet, wodurch der Unterschied größer geworden ist. Statt 12 % beträgt der Unterschied nun 15 % weniger CPU beim Cluster gegenüber dem einzelnen ROCK Pi mit externer PostgreSQL.

Zweites Szenario: Vergleich der Ergebnisse beim Einsatz eines Clusters für IoT-Anwendungen

Drittes Szenario

Interessant ist, dass selbst in diesem letzten Fall, in dem der Mac mini 10.400 Requests pro Minute gesendet hat, die CPU-Auslastung für jeden ROCK Pi weiterhin unter 30 % liegt.

Drittes Szenario: Vergleich der Ergebnisse beim Einsatz eines Clusters für IoT-Anwendungen

Lohnt sich ein Cluster für IoT-Anwendungen?

In den meisten Fällen schneidet der Cluster besser ab als der Betrieb von TagoCore auf einem einzelnen ROCK Pi, denn bei einem Cluster-Setup ist ein deutlicher Rückgang der CPU-Auslastung erkennbar. Dieser Rückgang ergibt sich wahrscheinlich aus dem Load Balancing und dem Einsatz von drei Rechnern statt nur einem.

Daher lohnt sich ein IoT-Cluster, wenn Sie mehr Leistung aus Ihrer IoT-Anwendung herausholen möchten.

Die Umsetzung eines Clusters für eine IoT-Anwendung mag für manche zwar eine Herausforderung sein, aber genau da kommt TagoCore ins Spiel, die kostenlose und quelloffene IoT-Plattform von TagoIO! TagoCore-Nutzer können Cluster mühelos in ihrer IoT-Umgebung einrichten. Nutzen Sie also die Cluster-Funktionen unserer Open-Source-Plattform!

Mehr Informationen zu TagoCore und zur Einrichtung als Cluster finden Sie in unserem Webinar “Installing and Configuring TagoCore on edge devices” und auf der TagoCore-Website.