Revisión del rendimiento de PostgreSQL 10.5 en los últimos servicios en la nube Yandex.Cloud

Justo el otro día, Yandex abrió el acceso para los usuarios beta a su nuevo servicio: Yandex . Cloud . Resultó que este evento coincidió con la necesidad de elegir una plataforma en la nube para uno de nuestros proyectos internos, y decidí probar de inmediato el rendimiento de las soluciones de Yandex.

Para la prueba, tomé PostgreSQL y el viejo pgbench. La elección recayó en el DBMS porque era interesante probar y comparar el rendimiento no solo de las máquinas virtuales, sino también de los servicios de bases de datos administradas.

Descargo de responsabilidad: el autor no es un administrador profesional, ni un DBA, ni un especialista en la personalización de soluciones en la nube. Las pruebas se llevaron a cabo exclusivamente para fines personales y no pretende ser objetivo, por lo tanto, tome el artículo "tal cual". No habrá un análisis profundo en el interior, pero habrá una comparación expresa con Selectel VPC (en diferentes discos) y varias configuraciones de AWS EC2 / RDS en términos de rendimiento y costo de las soluciones. Quizás esto le ahorrará a alguien un poco de tiempo.

Detalles Yandex.Cloud vs Selectel VPC vs AWS bajo cat.

La estructura de los servicios de Yandex.Cloud


La estructura de los recursos de Yandex.Cloud es común para tales servicios:

Cuotas de recursos (global)
Catálogo (proyecto)

- Compute Cloud (máquinas virtuales y unidades)
- Bases de datos administradas (grupos de bases de datos, puede ejecutar bases de datos Clickhouse, MongoDB y PostgreSQL)
- Almacenamiento de objetos (almacenamiento en la nube)
- Nube privada virtual (redes en la nube)
- API

No veo ningún punto en describir la interfaz en detalle, especialmente porque la documentación es de dominio público y mucho queda claro de ella.

Compara configuraciones


Se asignaron los siguientes recursos para todas las instancias virtuales en la prueba:

vCPU : 8 núcleos
RAM : 32 Gb
Disco : SSD (clase específica - ver instancias de prueba).
SO : CentOS 7 mínimo

Para los servicios de bases de datos administradas, se solicitó la configuración más cercana posible (Yandex y AWS solo tienen configuraciones con 8CPU / 32RAM).

La versión probada de Postgres es 10.5. Se postgresql10-server en máquinas virtuales desde el paquete postgresql10-server , y en clústeres administrados, esta versión se seleccionó de la lista.

Metodología de prueba


  1. postgresql10-server paquetes postgresql10-server y postgresql10 se instalaron en un sistema operativo limpio
  2. La base de datos para el punto de referencia se inicializó con los parámetros: pgbench -i -s 100
  3. Tres veces el punto de referencia se ejecutó con parámetros: pgbench -c 10 -T 60
  4. La utilidad pgbench se lanzó en la misma máquina virtual donde se instaló el DBMS, y para clústeres administrados, en una máquina virtual en la misma nube.
  5. El mejor resultado de los tres se ingresó en la tabla de resultados.

Resultados de la prueba


Todos los resultados de la prueba express en una tabla (gráficos a continuación):
RecursoTpsPrecio
AWS EC2 m5.2xlarge2822343
AWS EC2 m5d.2xlarge2752403
AWS EC2 t3.2xlarge2636290
AWS EC2 t2.2xlarge2259320
AWS EC2 m4.2xlarge2187358
Selectel VPC (SSD rápido)1524186
Instancia de cómputo en la nube de Yandex1309155
Base de datos administrada en la nube Yandex1226234
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

La columna Precio muestra el precio estimado de la solución probada por mes en USD, incluido el almacenamiento a 100 Gb. Para Amazon RDS, que se cobra por hora, el costo de una hora se multiplicó por 720. Los precios para el cálculo se tomaron de las siguientes fuentes:

- para Yandex Cloud Managed Database
- para Yandex Cloud Compute Instance
- para la instancia de Selectel VPC

Resultados de la prueba en forma de gráfico:

imagen

Conclusiones


Las conclusiones, en general, son bastante obvias: es mejor no tomar Universal SSD de Selectel con el fin de alojar un DBMS :)

Pero en serio, fue interesante para mí comparar principalmente Selectel y Yandex. Al final resultó que, ambas soluciones van casi cara a cara en términos de rendimiento y costo. Además, el costo sorprendió gratamente: los precios de las configuraciones probadas eran bastante asequibles.

Se espera que sea más costoso usar una configuración similar en la nube de AWS (aunque esperaba una mayor diferencia en el precio), pero ninguno de los proveedores rusos pudo mantenerse al día con AWS EC2 en términos de rendimiento. La excepción es RDS que no entiendo, que incluso la adición de IOPS aprovisionados no ayuda: todavía funciona lentamente, pero cuesta mucho, muy caro.

Solo unas pocas palabras sobre Yandex: en general, esperaba la aparición de un servicio de este tipo durante mucho tiempo, era obvio que esto era solo cuestión de tiempo. Todavía es evidente que está húmedo (espero que esto se aplique solo al bozal web, y no a la infraestructura en su conjunto), porque todavía hay muchos errores y fallas en el interior. Tuve que hablar de cerca con ellos. ayuda para entender si esto es un error o algo que no entiendo. Pero, estoy seguro, todo esto se depurará rápidamente y aparecerá otra alternativa digna en el mercado ruso de IaaS.

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


All Articles