Bonjour,
j'exploite et je développe une application qui reçoit des données d'objets connectés. Aujourd'hui c'est très light. Environ 20 messages par minutes. Pas la folie. Mais on espère bien que ça augmente
Pour me simplifier la vie j'ai monté un cluster ceph sur lequel tourne toute mes vm. Dont ma vm postgresql qui reçoit les données. J'ai du mal à trouver sur le net des gens qui font tourner pg sur ceph. Je voulais savoir si ici il y avait des gens qui ont une expérience en la matière. Au pire un moyen de faire un benchmark en écriture de mon postgresql.
merci
oau
ceph
-
- Administrateur du site
- Messages : 299
- Enregistré le : mar. 1 sept. 2015 00:38
- Localisation : France
- Contact :
Re: ceph
Bonjour et merci pour ta question. Je n'ai pas d'expérience avec ceph mais, si tu veux faire du bench d'une installation PostgreSQL, il est possible d'utiliser l'outil intégré pgbench : https://www.postgresql.org/docs/10/static/pgbench.html
Tu peux utiliser les tests prédéfinis mais tu peux aussi définir via un simple .sql ta transaction type (dans ton cas de l'insert de messages).
pgbench est simple à configurer et tu peux voir en montant le nombre de clients etc. à quel moment ton environnement ne tiendrait plus la route, cibler le goulet d'étranglement et y remédier.
Tu peux utiliser les tests prédéfinis mais tu peux aussi définir via un simple .sql ta transaction type (dans ton cas de l'insert de messages).
pgbench est simple à configurer et tu peux voir en montant le nombre de clients etc. à quel moment ton environnement ne tiendrait plus la route, cibler le goulet d'étranglement et y remédier.
Cdlt. Phil - pgphil.ovh
Re: ceph
Bonjour,
je n'avais pas vu votre réponse. J'ai fait quelques tests rapidement :
# DB Version: 9.4
# OS Type: linux
# Total Memory (RAM): 4 GB
# CPUs num: 4
# Connections num: 100
# Data Storage: ceph
je devrais probablement pousser un peu. Mais ça me semble pas mal.
je n'avais pas vu votre réponse. J'ai fait quelques tests rapidement :
# DB Version: 9.4
# OS Type: linux
# Total Memory (RAM): 4 GB
# CPUs num: 4
# Connections num: 100
# Data Storage: ceph
Code : Tout sélectionner
max_connections = 100
shared_buffers = 1GB
effective_cache_size = 3GB
maintenance_work_mem = 256MB
checkpoint_completion_target = 0.7
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 4
effective_io_concurrency = 2
work_mem = 10485kB
checkpoint_segments = 32
Code : Tout sélectionner
postgres@smobe-db001:~$ pgbench -i pgbench -s 50
creating tables...
100000 of 5000000 tuples (2%) done (elapsed 0.09 s, remaining 4.47 s).
200000 of 5000000 tuples (4%) done (elapsed 0.57 s, remaining 13.73 s).
300000 of 5000000 tuples (6%) done (elapsed 1.03 s, remaining 16.18 s).
400000 of 5000000 tuples (8%) done (elapsed 1.47 s, remaining 16.91 s).
500000 of 5000000 tuples (10%) done (elapsed 1.57 s, remaining 14.13 s).
600000 of 5000000 tuples (12%) done (elapsed 2.14 s, remaining 15.69 s).
700000 of 5000000 tuples (14%) done (elapsed 2.63 s, remaining 16.17 s).
800000 of 5000000 tuples (16%) done (elapsed 3.15 s, remaining 16.55 s).
900000 of 5000000 tuples (18%) done (elapsed 3.76 s, remaining 17.13 s).
1000000 of 5000000 tuples (20%) done (elapsed 3.87 s, remaining 15.49 s).
1100000 of 5000000 tuples (22%) done (elapsed 4.31 s, remaining 15.28 s).
1200000 of 5000000 tuples (24%) done (elapsed 4.82 s, remaining 15.26 s).
1300000 of 5000000 tuples (26%) done (elapsed 5.68 s, remaining 16.17 s).
1400000 of 5000000 tuples (28%) done (elapsed 6.50 s, remaining 16.72 s).
1500000 of 5000000 tuples (30%) done (elapsed 6.62 s, remaining 15.44 s).
1600000 of 5000000 tuples (32%) done (elapsed 7.01 s, remaining 14.90 s).
1700000 of 5000000 tuples (34%) done (elapsed 7.96 s, remaining 15.46 s).
1800000 of 5000000 tuples (36%) done (elapsed 9.10 s, remaining 16.18 s).
1900000 of 5000000 tuples (38%) done (elapsed 10.04 s, remaining 16.38 s).
2000000 of 5000000 tuples (40%) done (elapsed 10.16 s, remaining 15.24 s).
2100000 of 5000000 tuples (42%) done (elapsed 13.98 s, remaining 19.31 s).
2200000 of 5000000 tuples (44%) done (elapsed 14.81 s, remaining 18.85 s).
2300000 of 5000000 tuples (46%) done (elapsed 15.67 s, remaining 18.40 s).
2400000 of 5000000 tuples (48%) done (elapsed 15.86 s, remaining 17.18 s).
2500000 of 5000000 tuples (50%) done (elapsed 16.67 s, remaining 16.67 s).
2600000 of 5000000 tuples (52%) done (elapsed 17.54 s, remaining 16.19 s).
2700000 of 5000000 tuples (54%) done (elapsed 17.83 s, remaining 15.19 s).
2800000 of 5000000 tuples (56%) done (elapsed 18.84 s, remaining 14.81 s).
2900000 of 5000000 tuples (58%) done (elapsed 19.81 s, remaining 14.34 s).
3000000 of 5000000 tuples (60%) done (elapsed 20.66 s, remaining 13.77 s).
3100000 of 5000000 tuples (62%) done (elapsed 21.04 s, remaining 12.89 s).
3200000 of 5000000 tuples (64%) done (elapsed 21.14 s, remaining 11.89 s).
3300000 of 5000000 tuples (66%) done (elapsed 21.96 s, remaining 11.31 s).
3400000 of 5000000 tuples (68%) done (elapsed 22.73 s, remaining 10.69 s).
3500000 of 5000000 tuples (70%) done (elapsed 22.94 s, remaining 9.83 s).
3600000 of 5000000 tuples (72%) done (elapsed 24.18 s, remaining 9.40 s).
3700000 of 5000000 tuples (74%) done (elapsed 25.08 s, remaining 8.81 s).
3800000 of 5000000 tuples (76%) done (elapsed 26.42 s, remaining 8.34 s).
3900000 of 5000000 tuples (78%) done (elapsed 26.55 s, remaining 7.49 s).
4000000 of 5000000 tuples (80%) done (elapsed 27.74 s, remaining 6.94 s).
4100000 of 5000000 tuples (82%) done (elapsed 28.14 s, remaining 6.18 s).
4200000 of 5000000 tuples (84%) done (elapsed 32.57 s, remaining 6.20 s).
4300000 of 5000000 tuples (86%) done (elapsed 33.92 s, remaining 5.52 s).
4400000 of 5000000 tuples (88%) done (elapsed 34.03 s, remaining 4.64 s).
4500000 of 5000000 tuples (90%) done (elapsed 36.17 s, remaining 4.02 s).
4600000 of 5000000 tuples (92%) done (elapsed 37.56 s, remaining 3.27 s).
4700000 of 5000000 tuples (94%) done (elapsed 37.88 s, remaining 2.42 s).
4800000 of 5000000 tuples (96%) done (elapsed 38.81 s, remaining 1.62 s).
4900000 of 5000000 tuples (98%) done (elapsed 39.31 s, remaining 0.80 s).
5000000 of 5000000 tuples (100%) done (elapsed 39.74 s, remaining 0.00 s).
vacuum...
set primary keys...
done.
Code : Tout sélectionner
pgbench -c 50 -j 2 -t 100 pgbench
starting vacuum...end.
transaction type: TPC-B (sort of)
scaling factor: 50
query mode: simple
number of clients: 50
number of threads: 2
number of transactions per client: 100
number of transactions actually processed: 5000/5000
latency average: 153.079 ms
tps = 326.629588 (including connections establishing)
tps = 327.587063 (excluding connections establishing)
-
- Administrateur du site
- Messages : 299
- Enregistré le : mar. 1 sept. 2015 00:38
- Localisation : France
- Contact :
Re: ceph
Bonjour,
Merci pour votre retour. pgbench est très simple à prendre en main. J'aurais aimé avoir quelque chose d'aussi direct avec Oracle Database. D'ailleurs j'utilise à présent pgbench + oracle_fdw même pour tester sur ce SGBD.
Les tests prédéfinis (ici une sorte de TPC-B) ont un petit intérêt pour comparer la puissance de systèmes. Il faut dans tous les cas bien suivre les conseils de la documentation, notamment sur la durée du test, pour obtenir quelque chose d'à peu près significatif.
Pour évaluer la capacité d'un système à absorber une future charge plus spécifique, il ne faut pas hésiter à faire aussi du spécifique côté bench via un .sql dédié afin de mieux coller à la réalité.
Merci pour votre retour. pgbench est très simple à prendre en main. J'aurais aimé avoir quelque chose d'aussi direct avec Oracle Database. D'ailleurs j'utilise à présent pgbench + oracle_fdw même pour tester sur ce SGBD.
Les tests prédéfinis (ici une sorte de TPC-B) ont un petit intérêt pour comparer la puissance de systèmes. Il faut dans tous les cas bien suivre les conseils de la documentation, notamment sur la durée du test, pour obtenir quelque chose d'à peu près significatif.
Pour évaluer la capacité d'un système à absorber une future charge plus spécifique, il ne faut pas hésiter à faire aussi du spécifique côté bench via un .sql dédié afin de mieux coller à la réalité.
Cdlt. Phil - pgphil.ovh