Just recently, Yandex opened access for beta users to its new service,
Yandex.Oblako . It turned out that this event coincided with the need to choose a cloud platform for one of our internal projects and I decided to immediately test the performance of Yandex solutions.
For the test, I took PostgreSQL and the good old pgbench. The choice of a DBMS fell because it was interesting to test and compare the performance of not only virtual machines, but also managed database services.
Disclaimer: The author is neither a professional admin, nor a DBA, nor a specialist in setting up cloud solutions. Testing was conducted purely for personal purposes and does not pretend to objectivity, so please take the article “as is”. Inside there will not be some deep analysis, but there will be an express comparison with Selectel VPC (on different disks) and various AWS EC2 / RDS configurations in terms of performance and cost of solutions. Perhaps this will save someone a little time.
')
Details Yandex.Cloud vs Selectel VPC vs AWS under the cat.
The structure of the Yandex.Cloud services
The resource structure of Yandex. Cloud is usual for such services:
Resource quotas (global)Catalog (project)- Compute Cloud (virtual machines and disks)
- Managed Databases (database clusters, you can run Clickhouse, MongoDB and PostgreSQL databases)
- Object Storage (cloud storage)
- Virtual Private Cloud (cloud networks)
- API
I see no point in describing the interface in detail, especially since the
documentation is freely available and much is clear from it.
Compare Configurations
For all virtual instances in the test the following resources were allocated:
vCPU : 8 cores
RAM : 32 Gb
Disk : SSD (specific class - see testing instances).
OS : CentOS 7 minimal
For managed database services, the closest possible configuration was requested (Yandex and AWS have configurations with 8CPU / 32RAM).
Postgres version tested is 10.5. It was
postgresql10-server
on the virtual machine from the
postgresql10-server
package, and on managed clusters, this version was selected from the list.
Testing method
postgresql10-server
and postgresql10
packages were installed on a clean OS.- Initialized database for benchmark with parameters:
pgbench -i -s 100
- Three times I ran a benchmark with parameters:
pgbench -c 10 -T 60
- The
pgbench
utility pgbench
on the same virtual machine where the database is installed, and for managed clusters it runs on the virtual machine in the same cloud. - The best result of the three was entered into the results table.
Test results
All results of the rapid test in a single table (graphs below):
Resource | Tps | Price |
---|
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 (fast SSD) | 1524 | 186 |
Yandex Cloud Compute Instance | 1309 | 155 |
Yandex Cloud Managed Database | 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 (universal SSD) | 247 | 164 |
The
Price column shows the estimated cost of the cost of the solution being tested per month in USD, including storage for 100Gb. For Amazon RDS, which is charged by the hour, the cost per hour was multiplied by 720. Prices for the calculation are taken from the following sources:
-
for Yandex Cloud Managed Database-
for Yandex Cloud Compute Instance-
for Selectel VPC InstanceTest results in the form of a graph:

findings
The conclusions, in general, are fairly obvious: it is better not to take universal SSD from Selektel for the deployment of the DBMS :)
But seriously, it was interesting for me to compare first of all Selectel and Yandex. As it turned out, both solutions are almost nostril-to-nostril in terms of both performance and cost. And the cost was pleasantly surprised: the prices for the tested configurations turned out to be quite affordable.
It was expected to use a similarly priced configuration in the AWS cloud, which is expected to be more expensive (although I expected a larger price difference), but in terms of performance, none of the Russian providers could keep up with AWS EC2. The exception is that RDS is not understandable to me, which even the addition of provisioned IOPS does not help - it works all the same slowly, but costs very, very expensive.
A couple of words about Yandex: in general, I waited for the appearance of such a service from them for a long time, it was obvious that this was only a matter of time. It is still clear that it is damp (I hope this applies only to the web-muzzle, and not to the infrastructure as a whole), because there are still many bugs and glitches inside. I had to talk tightly with those. support, to understand, this is a bug or something I do not understand. But, I am sure, all this will be quickly debugged and another worthy alternative will appear on the Russian IaaS market.