L'autre jour, Yandex a ouvert l'accès des utilisateurs bêta à son nouveau service -
Yandex .
Cloud . Il s'est avéré que cet événement coïncidait avec la nécessité de choisir une plateforme cloud pour l'un de nos projets internes, et j'ai décidé de tester immédiatement les performances des solutions Yandex.
Pour le test, j'ai pris PostgreSQL et le bon vieux pgbench. Le choix s'est porté sur le SGBD car il était intéressant de tester et de comparer les performances non seulement des machines virtuelles, mais aussi des services de bases de données gérées.
Avertissement: L'auteur n'est ni un administrateur professionnel, ni un DBA, ni un spécialiste de la personnalisation des solutions cloud. Les tests ont été effectués uniquement à des fins personnelles et ne prétendent pas être objectifs, par conséquent, veuillez prendre l'article «tel quel». Il n'y aura pas d'analyse approfondie à l'intérieur, mais il y aura une comparaison expresse avec Selectel VPC (sur différents disques) et diverses configurations AWS EC2 / RDS en termes de performances et de coût des solutions. Cela fera peut-être gagner du temps à quelqu'un.
Détails Yandex.Cloud vs Selectel VPC vs AWS sous cat.
La structure des services Yandex.Cloud
La structure des ressources Yandex.Cloud est commune pour ces services:
Quotas de ressources (global)Catalogue (projet)- Compute Cloud (machines virtuelles et lecteurs)
- Bases de données gérées (clusters de bases de données, vous pouvez exécuter les bases de données Clickhouse, MongoDB et PostgreSQL)
- Stockage d'objets (stockage cloud)
- Cloud privé virtuel (réseaux cloud)
- API
Je ne vois pas l'intérêt de décrire l'interface en détail, d'autant plus que la
documentation est du domaine public et que beaucoup de choses en ressortent clairement.
Comparer les configurations
Les ressources suivantes ont été allouées à toutes les instances virtuelles du test:
vCPU : 8 cœurs
RAM : 32 Go
Disque : SSD (classe spécifique - voir instances de test).
Système d'
exploitation : CentOS 7 minimal
Pour les services de base de données gérés, la configuration la plus proche possible a été demandée (Yandex et AWS ont juste des configurations avec 8CPU / 32RAM).
La version testée de Postgres est 10.5. Il a été
postgresql10-server
sur les machines virtuelles du package
postgresql10-server
, et sur les clusters gérés, cette version a été sélectionnée dans la liste.
Méthodologie de test
postgresql10-server
et postgresql10
packages ont été installés sur un système d'exploitation propre- La base de données du benchmark a été initialisée avec les paramètres:
pgbench -i -s 100
- Le benchmark a été exécuté trois fois avec des paramètres:
pgbench -c 10 -T 60
- L'utilitaire
pgbench
été lancé sur la même machine virtuelle sur laquelle le SGBD a été installé, et pour les clusters gérés, sur une machine virtuelle dans le même cloud. - Le meilleur résultat des trois a été inscrit dans le tableau des résultats.
Résultats des tests
Tous les résultats du test express dans un tableau (graphiques ci-dessous):
Ressource | Tps | Prix |
---|
AWS EC2 m5.2xlarge | 2822 | 343 |
AWS EC2 m5d.2xlarge | 2752 | 403 |
AWS EC2 t3.2xlarge | 2636 | 290 |
AWS EC2 t2.2xlarge | 2259 | 320 |
AWS EC2 m4.2xlarge | 2187 | 358 |
Selectel VPC (SSD rapide) | 1524 | 186 |
Instance de calcul cloud Yandex | 1309 | 155 |
Base de données gérée par Yandex Cloud | 1226 | 234 |
AWS RDS db.m4.2xlarge (3000 IOPS) | 1200 | 1007 |
AWS RDS db.t2.2xlarge (3000 IOPS) | 1127 | 862 |
AWS RDS db.t2.2xlarge (1000 IOPS) | 970 | 625 |
AWS RDS db.m4.2xlarge (1000 IOPS) | 885 | 769 |
Selectel VPC (SSD universel) | 247 | 164 |
La colonne
Prix affiche le prix estimé de la solution testée par mois en USD, y compris le stockage à 100 Go. Pour Amazon RDS, qui est facturé à l'heure, le coût d'une heure a été multiplié par 720. Les prix pour le calcul ont été tirés des sources suivantes:
-
pour Yandex Cloud Managed Database-
pour l'instance Yandex Cloud Compute-
pour l'instance Selectel VPCRésultats des tests sous forme de graphique:

Conclusions
Les conclusions, en général, sont assez évidentes: il vaut mieux ne pas prendre Universal SSD de Selectel pour héberger un SGBD :)
Mais sérieusement, il était intéressant pour moi de comparer principalement Selectel et Yandex. Il s'est avéré que les deux solutions vont presque de pair en termes de performances et de coûts. De plus, le coût a agréablement surpris: les prix des configurations testées étaient assez abordables.
Il est probablement plus coûteux d'utiliser une configuration similaire dans le cloud AWS (bien que je m'attendais à une plus grande différence de prix), mais aucun des fournisseurs russes n'a pu suivre AWS EC2 en termes de performances. L'exception est le RDS que je ne comprends pas, que même l'ajout d'IOPS provisionnés n'aide pas - cela fonctionne toujours lentement, mais cela coûte beaucoup, très cher.
Juste quelques mots sur Yandex: en général, je m'attendais à l'apparition d'un tel service depuis longtemps, il était évident que ce n'était qu'une question de temps. Il est toujours évident qu'il est humide (j'espère que cela ne s'applique qu'au web-museau, et non à l'infrastructure dans son ensemble), car il y a encore de nombreux bugs et bugs à l'intérieur. Je devais en parler étroitement. support pour comprendre s'il s'agit d'un bug ou de quelque chose que je ne comprends pas. Mais, je suis sûr, tout cela sera rapidement débogué et une autre alternative valable apparaîtra sur le marché russe de l'IaaS.