Intro
Unser Team für ein Webprojekt (es ist immer noch ein Geheimnis) benötigte Hosting, um unseren Service für die Zusammenarbeit rund um die Uhr verfügbar zu machen. Vorher haben wir verschiedene Shared Hosting-Funktionen verwendet, aber diese Hosting-Option ist für uns nicht geeignet, da solche Anbieter Software selten aktualisieren. Selbst wenn zwischen MySQL-, PHP- und Apache-Versionen gewählt werden kann, gibt es normalerweise mehrere veraltete und sehr veraltete Versionen. Und nicht jeder hat beispielsweise Tools für die Arbeit mit Let's Encrypt-Zertifikaten. Vor kurzem haben wir uns jedoch entschlossen, auf dedizierte virtuelle Maschinen zu achten. Einerseits fällt uns etwas mehr Wartung auf die Schultern, andererseits erhalten wir die volle Kontrolle über die gesamte installierte Software.
Opferauswahl
Es gibt verschiedene Dienste für die Auswahl des Hostings. Wir haben die Konfiguration des virtuellen Servers basierend auf den Überlegungen ausgewählt, dass wir 2 CPU-Kerne, 8 GB RAM und mindestens 50 GB SSD benötigen, und die folgende Liste erhalten:
- boodet.online
- firstvds.ru
- fornex.com
- fozzy.com
- ipipe.ru
- ispserver.com
- profiterver.ru
- ruvds.com
- vdsnow.ru
Lass uns besser kennenlernen
boodet.online
Sie können 10, 20, 60, 100, 250, 500, 1000 oder 2000 GB kaufen.
Nun, es gibt Grenzen für jeden CPU- und RAM-Wert. Um beispielsweise 12 GB RAM zu nutzen, können nicht weniger als 6 CPU-Kerne bestellt werden. Dies ist der nächste Wert nach 8 GB. Sie können VPS mit bis zu 48 Kernen und bis zu 224 GB RAM bestellen (mindestens 1 Kern und 0,5 GB RAM). Bei Zahlung für ein Jahr belaufen sich die monatlichen Kosten für den Server auf 952 ₽.
Gefiel: niedriger Preis
Unzufrieden: mangelnde vollständige Konfigurationsflexibilität.
Nuancen: Das Entfernen des Servers dauert einige Zeit. Möglicherweise werden einige der Schritte manuell ausgeführt. Bei der Rückgabe von Geldern fordert der Hoster Sie auf, die Details der Zahlungsquelle explizit anzugeben. Der einzige Hoster mit solchen Anforderungen unter denen, die wir erfüllt haben.
firstvds.ru
Hier können Sie die erforderliche Anzahl virtueller Serverkerne von 2 bis 8 Stk. Auswählen, RAM in Schritten von 2 GB bis zu 32 GB und Festplatte in Schritten von 10 GB von 20 bis 2000 GB. Bei Bestellungen über einen Monat gibt es keinen Rabatt und beträgt 1549 ₽ pro Monat.
Gefallen: benutzerdefinierte VDS-Konfiguration, Zahlung über das schnelle Zahlungssystem mit einem QR-Code.
Es hat mir nicht gefallen: Das Löschen des Servers vor Ablauf des Abrechnungszeitraums ist nicht vorgesehen, kann jedoch ausnahmsweise über den technischen Support gelöscht werden.
fornex.com
Auswahl nur fester Konfigurationen. RUB 2711,76 pro Monat bei Zahlung für ein Jahr.
Unzufrieden: Mangel an flexibler Konfiguration.
Nuancen: Die Löschfunktion generiert einfach eine Anfrage für technischen Support.
fozzy.com
Es gibt keinen Konfigurator, es gibt vorgefertigte Tarife, wir werden uns auf eine virtuelle Maschine mit 2 GB RAM, 2 Kernen und 45 GB verlassen.
Und fügen Sie 6 GB hinzu. Die Kosten betragen 1 939,00 ₽ pro Monat.
Unzufrieden: Fehlen eines normalen Konfigurators.
ipipe.ru
Auch hier muss VPS als Konstruktor zusammengebaut werden. NVMe –2 + 6 GB RAM.
Wir erhalten 1 459,00 ₽ pro Monat.
Unzufrieden: Fehlen eines normalen Konfigurators.
ispserver.com
Hier können Sie mit dem Konfigurator die erforderliche Anzahl von Kernen von 2 bis 8 Stk., RAM in Schritten von 2 GB bis 32 GB und Festplatte in Schritten von 10 GB von 20 bis 2000 GB auswählen.
Gefallen: benutzerdefinierte Konfiguration.
Es hat mir nicht gefallen: Das Löschen des Servers vor Ablauf des Abrechnungszeitraums ist nicht vorgesehen, kann jedoch ausnahmsweise über den technischen Support gelöscht werden.
profiterver.ru
Hier gibt es einen vollwertigen Konfigurator, und die von uns bestellte RAM-Größe ist das Maximum, das für die Bestellung verfügbar ist, und das Minimum, das Sie bestellen können, beträgt 1 GB. Der Kern kann von 1 bis 8 Stk. Bestellt werden, und die Festplatte - von 20 bis 100 GB. Bei Zahlung für ein Jahr betragen die Kosten 1.686,50 RUB pro Monat
Gefallen: benutzerdefinierte Konfiguration, Zahlung über das schnelle Zahlungssystem mit einem QR-Code.
Es hat mir nicht gefallen: Sie haben sich geweigert, den Server zu löschen und zu erstatten.
ruvds.com
Es gibt einen vollwertigen Konfigurator. Verfügbar mit 1 bis 16 Kernen, 0,5 bis 16 GB RAM und 10 bis 600 GB Festplatte.
Wir haben uns jedoch für einen vorgefertigten Tarif entschieden, weil dieser billiger ist - nur 1333 ₽ pro Monat.
Gefallen: benutzerdefinierte Konfiguration.
Es hat mir nicht gefallen: Der ausgewählte Tarif kann nur für genau drei Monate gekauft werden, und Sie können den Server nicht früher als einige Tage vor dem Ende des Abrechnungszeitraums verlängern.
vdsnow.ru
Hier gibt es einen vollständigen Konfigurator. Sie können zwischen 1 und 8 Kernen, 1 bis 32 GB RAM und 10 bis 150 GB Festplatte wählen. 1320 ₽ monatlich ohne Rabatt bei längerer Zahlung.
Gefallen: flexible Konfiguration.
Der Zweck der Schlacht
Wir haben mehrere Dienstleistungen ausgewählt und uns für die preislich und leistungsmäßig am besten geeignete entschieden. Die Hoffnung, einen Service zu finden, der sowohl billig als auch produktiv ist, ist eine Utopie, daher werden wir versuchen, eine ausgewogene Lösung zu finden.
Vorbereitung auf den Kampf
Um das Rad nicht neu zu erfinden und nicht viel Zeit zu verschwenden, haben wir uns für eine vorgefertigte Leistungstestsuite entschieden - Phoromatic . Zuerst gab es die Idee, einfach eine Art Konsolenbank (wie Sysbench) über Cron nach einem Zeitplan zu betreiben. Aber nach ein wenig googeln fanden wir eine sehr interessante Option: www.phoronix-test-suite.com .
Die Phoronix Test Suite (PTS) ist eine kostenlose Open-Source-Software für Linux und andere Betriebssysteme, die von Michael Larabel und Matthew Tippett entwickelt wurde.
Die Phoronix-Benchmark-Suite wurde von Websites wie Linux.com, LinuxPlanet und Softpedia als "beste Plattform für Leistungstests" empfohlen. Die Phoronix Test Suite wird auch von Toms Hardware, ASELabs und anderen Überprüfungsseiten verwendet.
Im Wesentlichen handelt es sich hierbei um eine riesige Bibliothek verschiedener Testprobleme, mit deren Hilfe Sie die Qualität und Stabilität des Betriebs einer gesamten physischen Maschine bewerten oder einen hochspezialisierten Test durchführen können, der auf etwas Bestimmtes abzielt. Das phoromatische Subsystem hat uns jedoch besonders angezogen.
Phoromatic — - Phoronix Test Suite. (). Phoromatic .
Phoromatic wird auf einem separaten Server gestartet, woraufhin Testmaschinen mit ihm verbunden werden. Der Vorgang ist so einfach wie möglich. Die Entwickler haben vorgefertigte Skripte für die Installation in ihrem Repository für Unix-Systeme und Windows bereitgestellt. Wir müssen nur sicherstellen, dass für die Arbeit Abhängigkeiten erforderlich sind, und das Installationsskript ausführen. Dann werden alle Arbeiten in der Phoromatic-Weboberfläche ausgeführt.
Gehen Sie nach dem Start von Phoromatic zur Weboberfläche, wo Sie aufgefordert werden, die Anmeldeinformationen des Administrators anzugeben. Danach wird die Hauptseite des Systems geöffnet:
Im Allgemeinen kann Phoromatic die erforderlichen Komponenten unabhängig auf Testmaschinen bereitstellen. Sie müssen nur SSH-Zugriff gewähren:
Dies kann nützlich sein, wenn Sie über eine große Flotte von Testmaschinen verfügen. Wir sind einen anderen Weg gegangen. Die Phoronix Test Suite wurde auf jedem Testcomputer mit einem einfachen Befehl installiert:
phoronix-test-suite phoromatic.connect my-domain.xyz:8855/1P81YS
Sie traten dem Phoromatic-Server bei. Als nächstes haben wir alle Systeme zu einer Gruppe zusammengefasst, wodurch es möglich wurde, Tests auf allen Maschinen synchron auszuführen.
Anschließend fahren wir mit der Auswahl der erforderlichen Tests fort. Wir haben uns für folgendes Set entschieden:
System CPU\RAM:
>> Sysbench [pts/sysbench-1.0.0]
This is a benchmark of Sysbench with CPU and memory sub-test
>> Apache Benchmark [pts/apache-1.7.2]
This is a test of ab, which is the Apache benchmark program. This test profile measures how many requests per second a given system can sustain when carrying out 1,000,000 requests with 100 requests being carried out concurrently.
>> PHPBench [pts/phpbench-1.1.5]
PHPBench is a benchmark suite for PHP. It performs a large number of simple tests in order to bench various aspects of the PHP interpreter. PHPBench can be used to compare hardware, operating systems, PHP versions, PHP accelerators and caches, compiler options, etc. The number of iterations used is 1,000,000.
===
CPU:
>> Swet [pts/swet-1.0.0]
Swet is a synthetic CPU/RAM benchmark, includes multi-processor test cases.
>> OpenSSL [pts/openssl-1.11.0]
OpenSSL is an open-source toolkit that implements SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols. This test measures the RSA 4096-bit performance of OpenSSL.
===
RAM:
>> pmbench [pts/pmbench-1.0.2]
Pmbench is a Linux paging and virtual memory benchmark. This test profile will report the average page latency of the system.
- Concurrent Worker Threads: 2 - Read-Write Ratio: 50%
>> Tinymembench [pts/tinymembench-1.0.2]
This benchmark tests the system memory (RAM) performance.
===
Network:
>> Loopback TCP Network Performance [pts/network-loopback-1.0.3]
This test measures the loopback network adapter performance using a micro-benchmark to measure the TCP performance.
===
Disc:
>> Flexible IO Tester [pts/fio-1.13.2]
Fio is an advanced disk benchmark that depends upon the kernel's AIO access library.
- Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory
- Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4MB - Disk Target: Default Test Directory
- Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 512KB - Disk Target: Default Test Directory
- Random Read - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 64KB - Disk Target: Default Test Directory
- Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory
- Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 4MB - Disk Target: Default Test Directory
- Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 512KB - Disk Target: Default Test Directory
- Random Write - Engine: Linux AIO - Buffered: Yes - Direct: No - Block Size: 64KB - Disk Target: Default Test Directory
>> SQLite [pts/sqlite-2.1.0]
This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database.
- Threads / Copies: 1
Ein solcher Satz mag überflüssig erscheinen, aber wir wollten eine Vorstellung von der Funktionsweise der einzelnen Systemkomponenten bekommen: Festplatte, RAM, CPU, Netzwerk.
Jetzt müssen Sie genau den Zeitplan erstellen, nach dem die Tests ausgeführt werden:
Wir haben alle Tests, die wir ausgewählt haben, dort abgelegt:
Als Ergebnis haben wir 4 Szenarien mit den gleichen Tests erhalten. Die Skripte wurden täglich um 04:00, 10:00, 14:00 und 19:00 Uhr ausgeführt. Ein sequentieller Start aller ausgewählten Tests wurde eingeleitet und die Ergebnisse wurden erhalten. Jetzt musste nur noch gewartet werden. Nach 2 Wochen entschieden wir, dass das genug war und schalteten die Skripte aus.
Die Ergebnisse können direkt im Browser angezeigt und sogar zwischen den Testseiten verglichen werden. Bei einem so großen Volumen ist dies jedoch sehr unpraktisch. Daher haben wir alle Ergebnisse in CSV gespeichert und die Ergebnisse selbst analysiert. Diesem Artikel ist die resultierende Tabelle beigefügt, damit Sie die Ergebnisse selbst analysieren können.
Schlacht
Nach dem Hochladen der Testergebnisse für jeden Server haben wir sie in LibreOffice Calc (Alternative zu MS Excel) auf mehreren Blättern für jeden Hoster kombiniert - ein separates Blatt. Als nächstes wurde das arithmetische Mittel für alle Ergebnisse genommen, die innerhalb jedes Tests erhalten wurden. Auf diese Weise haben wir gemittelte Ergebnisse ohne Bezug zur Zeit erhalten, die es uns ermöglichen, die Leistung von Maschinen angemessener zu bewerten, ohne den vorübergehenden Lastzufluss zu berücksichtigen, der von den Servern anderer Clients erzeugt wird.
Wenn Sie möchten, können Sie unabhängig Diagramme für jeden Test und für jeden Hoster erstellen und nachvollziehen, wie stark sich die Leistung am Dienstag um drei Uhr von drei Nächten am Samstag unterscheidet.
Die erhaltenen gemittelten Ergebnisse wurden auf einem Blatt mit dem unkomplizierten Namen "Arithmetisches Mittel" zusammengefasst. Jetzt können Sie Diagramme erstellen, die den Unterschied zwischen den Hostern für jeden Test deutlich zeigen. Auf dem Blatt „Endergebnis“ können Sie die empfangenen Daten nur in einer Form anzeigen, die für die menschliche Wahrnehmung geeignet ist. Jede Spalte enthält sowohl das tatsächliche arithmetische Mittel als auch dasselbe, jedoch in Form von 1000 ₽. Auf diese Weise können wir verstehen, welcher der Hoster in Bezug auf das Preis-Leistungs-Verhältnis besser ist. In den Diagrammen sehen Sie zwei Spalten:
- Blau ist der tatsächliche Wert
- Rot - in 1000 Rubel.
Der Gesamtversatz enthielt wertbereinigte Werte. Beachten Sie auch, dass mehr nicht in allen Tests besser ist. Dies ist in Spalte "B" angegeben:
- HIB — Higher Is Better More Is Better ( , )
- LIB — Low Is Better Fewer Is Better ( — )
Hier sind die Benchmark-Ergebnisse:
Sysbench-Prozessor-Leistungstest Sysbench-
Speicherleistungstest
Flexibler E
/ A- Tester IOPS-Festplattenleistungstest Flexibler E / A-Tester MB / S-Festplattenleistungstest
Apache Benchmark Statische Webseite Serving
Webserver-Leistungstest PHP-Benchmark
Swet-Prozessor-Leistungstest
Netzwerkcontroller-Zustandstest Daten über Loopback übertragen
Tinymembench Speicherleistungstest
pmbench Festplattenleistungstest
SQLite-Datenbankleistungstest
OpenSSL-Prozessorleistungstest
Wir haben also Diagramme erhalten, die den gemittelten, nicht zeitgebundenen Wert für jeden Test separat sowie dieselben Werte zeigen, jedoch angepasst an die Kosten der getesteten Konfiguration. Dank ihnen ist es relativ einfach, die Stärken und Schwächen der Hoster zu verstehen.
Ermittlung des Gewinners
Kommen wir zu den Ergebnissen. Um einen Favoriten für uns selbst zu bestimmen, haben wir jedem Platz, der in einem bestimmten Test belegt ist, ein bestimmtes Gewicht zugewiesen. Je näher an der Meisterschaft, desto besser. Somit erhält der Hoster 9 Punkte für den ersten Platz, 1 für den letzten (und umgekehrt, wenn es sich um LIB-Ergebnisse handelt). Als nächstes fassen wir einfach die für jeden Test erzielten Ergebnisse zusammen und erstellen das endgültige Diagramm.
Ruvds.com und ipipe.ru haben die höchsten Ergebnisse. In Bezug auf das Preis-Leistungs-Verhältnis sieht ruvds.com jedoch attraktiver aus.
Fazit
Hostings kollidierten ernsthaft - wir hatten fast identische Konfigurationen aus derselben Preisklasse, aber wie wir zu Beginn sagten, entscheidet jetzt alles. Wir haben es immer noch geschafft, den Gewinner zu identifizieren, aber bevor wir ihn bekannt geben, möchte ich Sie auf einige Dinge aufmerksam machen:
- Kopieren Sie unsere Auswahl nicht blind - Sie haben möglicherweise andere Ziele, Aufgaben, Einführungen und Projekte. Sie können Geld sparen und die beste Lösung für sich selbst finden.
- Sparen Sie nicht an Spielen - billiges Hosting kann geradezu gefährlich sein und nicht nur Ihrem Projekt, sondern dem gesamten Unternehmen schaden.
- Nehmen Sie sich Zeit, um die Lösung auszuwählen und zu analysieren.
In Bezug auf das Preis-Leistungs-Verhältnis waren wir von Ruvds (insbesondere dem "Turbo" -Tarif) überrascht - es gibt nicht nur hervorragende Leistungsergebnisse, sondern auch einen angemessenen Preis. Die Jungs bloggen hier also aus einem bestimmten Grund - sie schämen sich wahrscheinlich nicht, dem Habr-IT-Cluster in die Augen zu schauen. Nun, Sie - denken Sie selbst, entscheiden Sie selbst ... Und verlieren Sie vor allem nicht!
Sie können die Originaltabelle mit den Ergebnissen hier herunterladen: Mega