Ulasan kinerja PostgreSQL 10.5 di layanan cloud Yandex.Cloud terbaru

Beberapa hari yang lalu Yandex membuka akses bagi pengguna beta ke layanan barunya - Yandex . Cloud . Ternyata acara ini bertepatan dengan kebutuhan untuk memilih platform cloud untuk salah satu proyek internal kami, dan saya memutuskan untuk segera menguji kinerja solusi Yandex.

Untuk pengujian, saya mengambil PostgreSQL dan pgbench tua yang bagus. Pilihan jatuh pada DBMS karena menarik untuk menguji dan membandingkan kinerja tidak hanya mesin virtual, tetapi juga mengelola layanan basis data.

Penafian: Penulis bukan admin profesional, atau DBA, atau spesialis dalam menyesuaikan solusi cloud. Pengujian dilakukan semata-mata untuk tujuan pribadi dan tidak berpura-pura objektif, oleh karena itu, silakan ambil artikel "sebagaimana adanya". Tidak akan ada analisis mendalam di dalamnya, tetapi akan ada perbandingan dengan Selectel VPC (pada disk yang berbeda) dan berbagai konfigurasi AWS EC2 / RDS dalam hal kinerja dan biaya solusi. Mungkin ini akan menghemat waktu seseorang.

Detail Yandex.Cloud vs Selectel VPC vs AWS di bawah cat.

Struktur layanan Yandex.Cloud


Struktur sumber daya Yandex.Cloud adalah umum untuk layanan seperti:

Kuota sumber daya (global)
Katalog (proyek)

- Compute Cloud (mesin dan drive virtual)
- Database yang Dikelola (kelompok basis data, Anda dapat menjalankan basis data Clickhouse, MongoDB dan PostgreSQL)
- Penyimpanan Objek (penyimpanan awan)
- Virtual Private Cloud (Jaringan Cloud)
- API

Saya tidak melihat satu titik pun dalam mendeskripsikan antarmuka secara terperinci, terutama karena dokumentasinya ada dalam domain publik dan banyak yang jelas darinya.

Bandingkan konfigurasi


Sumber daya berikut dialokasikan untuk semua instance virtual dalam pengujian:

vCPU : 8 core
RAM : 32 Gb
Disk : SSD (kelas khusus - lihat contoh pengujian).
OS : CentOS 7 minimal

Untuk layanan basis data terkelola, konfigurasi terdekat yang mungkin diminta (Yandex dan AWS hanya memiliki konfigurasi dengan 8CPU / 32RAM).

Versi Postgres yang teruji adalah 10.5. Itu postgresql10-server pada mesin virtual dari paket postgresql10-server , dan pada kluster yang dikelola versi ini dipilih dari daftar.

Metodologi pengujian


  1. Paket postgresql10 postgresql10-server dan postgresql10 diinstal pada OS yang bersih
  2. Database untuk tolok ukur diinisialisasi dengan parameter: pgbench -i -s 100
  3. Tiga kali tolok ukur dijalankan dengan parameter: pgbench -c 10 -T 60
  4. Utilitas pgbench diluncurkan pada mesin virtual yang sama di mana DBMS diinstal, dan untuk kluster yang dikelola, pada mesin virtual di cloud yang sama.
  5. Hasil terbaik dari ketiganya dimasukkan dalam tabel hasil.

Hasil tes


Semua hasil tes kilat dalam satu tabel (grafik di bawah):
SumberdayaTpsHarga
AWS EC2 m5.2xlarge2822343
AWS EC2 m5d.2xlarge2752403
AWS EC2 t3.2xlarge2636290
AWS EC2 t2.2xlarge2259320
AWS EC2 m4.2xlarge2187358
Selectel VPC (SSD cepat)1524186
Mesin Virtual Cloud Compute Yandex1309155
Database Dikelola Yandex Cloud1226234
AWS RDS db.m4.2xlarge (3000 IOPS)12001007
AWS RDS db.t2.2xlarge (3000 IOPS)1127862
AWS RDS db.t2.2xlarge (1000 IOPS)970625
AWS RDS db.m4.2xlarge (1000 IOPS)885769
Selectel VPC (SSD universal)247164

Kolom Harga menunjukkan perkiraan harga solusi yang diuji per bulan dalam USD, termasuk penyimpanan pada 100Gb. Untuk Amazon RDS, yang dibebankan oleh jam, biaya satu jam dikalikan dengan 720. Harga untuk perhitungan diambil dari sumber-sumber berikut:

- untuk Basis Data Dikelola Yandex Cloud
- untuk Mesin Virtual Cloud Compute Yandex
- untuk Instance Selectel VPC

Hasil pengujian dalam bentuk grafik:

gambar

Kesimpulan


Kesimpulannya, secara umum, cukup jelas: lebih baik tidak mengambil Universal SSD dari Selectel untuk tujuan hosting DBMS :)

Tapi serius, menarik bagi saya untuk membandingkan Selectel dan Yandex. Ternyata, kedua solusi tersebut hampir saling berhadapan baik dari segi kinerja maupun biaya. Selain itu, biaya sangat terkejut: harga konfigurasi yang diuji cukup terjangkau.

Diharapkan lebih mahal untuk menggunakan konfigurasi yang serupa di cloud AWS (meskipun saya mengharapkan perbedaan harga yang lebih besar), tetapi tidak ada penyedia Rusia yang bisa bersaing dengan AWS EC2 dalam hal kinerja. Pengecualiannya adalah RDS yang tidak saya mengerti, yang bahkan penambahan IOPS yang disediakan tidak membantu - itu masih bekerja lambat, tetapi biayanya banyak, sangat mahal.

Hanya beberapa kata tentang Yandex: secara umum, saya mengharapkan penampilan layanan seperti itu dari mereka untuk waktu yang lama, jelas bahwa ini hanya masalah waktu. Masih jelas bahwa itu lembab (saya harap ini hanya berlaku untuk moncong web, dan tidak untuk infrastruktur secara keseluruhan), karena masih ada banyak bug dan gangguan di dalamnya. Saya harus berbicara dengan mereka. dukungan untuk memahami apakah ini bug atau sesuatu yang tidak saya mengerti. Tapi, saya yakin, semua ini akan dengan cepat didebug dan alternatif layak lainnya akan muncul di pasar IaaS Rusia.

Source: https://habr.com/ru/post/id428151/


All Articles