Tsung - Meetup PostgreSQL
Rodolphe Quiédeville
Un Tsung vaut mieux que 2 "croisons les doigts" !
16 avril 2014
Rodolphe Qu...
Le speaker
admin/sys depuis le siècle dernier
DevOps depuis que le terme existe
contributeur Tsung
Freelance
problématique...
Tsung
début développement en 2001
écrit en Erlang
publié sous GNU GPL V2
projet Idealx initialement nommé IDX-Tsunami
test...
Caractéristiques
multi protocoles
scalable (validé à 10 Millions d’utilisateurs)
pas d’interface graphique
extensible par ...
Utilisateurs
Total
CMA-CGM
Ministère des finances
Dailymotion
Skyrock, Libération
LibertySurf
Grid’5000
Rodolphe Quiédevill...
Principe de fonctionnement
un contrôleur
0 à N injecteurs
une cible
un scenario
des logs
des rapports de résultats
Rodolph...
Protocoles supportés en 1.5.1
HTTP/HTTPS
Websocket
Jabber/XMPP
Webdav
AMQP / MQTT / ZeroMQ
LDAP
MySQL
Rodolphe Quiédeville...
Protocoles supportés en 1.5.1
HTTP/HTTPS
Websocket
Jabber/XMPP
Webdav
AMQP / MQTT / ZeroMQ
LDAP
MySQL
PostgreSQL
Rodolphe ...
Fonctions avancées
variables dynamiques
gestion des cookies automatique
analyse du résulat
thinktime
données aléatoires
ex...
Installation
pre-requis : Erlang R15, erlang-crypto, ssh
package : Debian, Ubuntu, Fedora, ...
sources : Github
scripts de...
Houston on a un problème
Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 11 / 27
Houston on a un problème
Paul : CdP
Dominique : développeur
Frédérique : DBA
Rodolphe Quiédeville (Freelance) Tsung - Meet...
Houston on a un problème
Paul : le site est lent !
Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 201...
Houston on a un problème
Paul : le site est lent !
Dominique : c’est la base !
Rodolphe Quiédeville (Freelance) Tsung - Me...
Houston on a un problème
Paul : le site est lent !
Dominique : c’est la base !
Frédérique : ...
Rodolphe Quiédeville (Free...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Rodolphe Quiédeville (Freelance) Tsung - Meetup Postgr...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Dominique : euh...
Rodolphe Quiédeville (Freelance) Ts...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Dominique : euh...
Paul : ... des fois
Rodolphe Quiéde...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Dominique : euh...
Paul : ... des fois
Frédérique : qu...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Dominique : euh...
Paul : ... des fois
Frédérique : qu...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Dominique : euh...
Paul : ... des fois
Frédérique : qu...
Houston on a un problème
Frédérique : quand est-ce que c’est lent ?
Dominique : euh...
Paul : ... des fois
Frédérique : qu...
La table de log
Schema
CREATE TABLE node (
osmid bigint,
changeset bigint,
version smallint,
uid integer,
tags json,
tms t...
Scenario
Création du scenario
En mode proxy
$ tsung-recorder -p pgsql -P 5433 start
Starting Tsung recorder on port 8090
"...
Modules
Utilisation de modules
Complexe
4> postgis:rnd_point().
"ST_Point(-28.895539, 14.205375)"
5> postgis:rnd_box2d().
...
Contribuer
Docs, https://tsung.readthedocs.org/
Code, https://github.com/processone/tsung/
CI, http://jenkins.quiedeville....
Questions ?
Rodolphe Quiédeville
rodolphe@quiedeville.org
http://blog.rodolphe.quiedeville.org/
Document publié sous Licen...
Prochain SlideShare
Chargement dans…5
×

Un Tsung vaut mieux que 2 "croisons les doigts"

820 vues

Publié le

Cas d'école et démarche suivie pour résoudre un problème de performance dans une base de données PostgreSQL. Présentation donnée au Meetup PostgreSQL Paris User Group le 16 avril 2014.

Publié dans : Technologie
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
820
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
15
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Un Tsung vaut mieux que 2 "croisons les doigts"

  1. 1. Tsung - Meetup PostgreSQL Rodolphe Quiédeville Un Tsung vaut mieux que 2 "croisons les doigts" ! 16 avril 2014 Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 1 / 27
  2. 2. Le speaker admin/sys depuis le siècle dernier DevOps depuis que le terme existe contributeur Tsung Freelance problématique de performance des SI(G) Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 2 / 27
  3. 3. Tsung début développement en 2001 écrit en Erlang publié sous GNU GPL V2 projet Idealx initialement nommé IDX-Tsunami test de serveur XMPP version 1.5.1 stable, 1.6.0 bientôt Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 3 / 27
  4. 4. Caractéristiques multi protocoles scalable (validé à 10 Millions d’utilisateurs) pas d’interface graphique extensible par plugins scenarios XML avec validation XSL sondes de monitoring modèle Stochastic avec distribution de Poisson Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 4 / 27
  5. 5. Utilisateurs Total CMA-CGM Ministère des finances Dailymotion Skyrock, Libération LibertySurf Grid’5000 Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 5 / 27
  6. 6. Principe de fonctionnement un contrôleur 0 à N injecteurs une cible un scenario des logs des rapports de résultats Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 6 / 27
  7. 7. Protocoles supportés en 1.5.1 HTTP/HTTPS Websocket Jabber/XMPP Webdav AMQP / MQTT / ZeroMQ LDAP MySQL Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 7 / 27
  8. 8. Protocoles supportés en 1.5.1 HTTP/HTTPS Websocket Jabber/XMPP Webdav AMQP / MQTT / ZeroMQ LDAP MySQL PostgreSQL Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 8 / 27
  9. 9. Fonctions avancées variables dynamiques gestion des cookies automatique analyse du résulat thinktime données aléatoires extension par modules erlang boucles et tests ... Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 9 / 27
  10. 10. Installation pre-requis : Erlang R15, erlang-crypto, ssh package : Debian, Ubuntu, Fedora, ... sources : Github scripts de creation paquet .deb dans les sources déploiement à l’identique sur le contrôleur et les injecteurs Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 10 / 27
  11. 11. Houston on a un problème Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 11 / 27
  12. 12. Houston on a un problème Paul : CdP Dominique : développeur Frédérique : DBA Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 12 / 27
  13. 13. Houston on a un problème Paul : le site est lent ! Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 13 / 27
  14. 14. Houston on a un problème Paul : le site est lent ! Dominique : c’est la base ! Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 14 / 27
  15. 15. Houston on a un problème Paul : le site est lent ! Dominique : c’est la base ! Frédérique : ... Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 15 / 27
  16. 16. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 16 / 27
  17. 17. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Dominique : euh... Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 17 / 27
  18. 18. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Dominique : euh... Paul : ... des fois Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 18 / 27
  19. 19. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Dominique : euh... Paul : ... des fois Frédérique : quelle requête ?, quelle partie du site ? Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 19 / 27
  20. 20. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Dominique : euh... Paul : ... des fois Frédérique : quelle requête ?, quelle partie du site ? Paul : plusieurs ! Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 20 / 27
  21. 21. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Dominique : euh... Paul : ... des fois Frédérique : quelle requête ?, quelle partie du site ? Paul : plusieurs ! Dominique : le passage des diffs sur les objets présents Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 21 / 27
  22. 22. Houston on a un problème Frédérique : quand est-ce que c’est lent ? Dominique : euh... Paul : ... des fois Frédérique : quelle requête ?, quelle partie du site ? Paul : plusieurs ! Dominique : le passage des diffs sur les objets présents Frédérique : on va regarder la table node Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 22 / 27
  23. 23. La table de log Schema CREATE TABLE node ( osmid bigint, changeset bigint, version smallint, uid integer, tags json, tms timestamp ) CREATE TABLE node0 () INHERITS (node); CREATE TABLE node1 () INHERITS (node); CREATE TABLE node2 () INHERITS (node); CREATE TABLE node3 () INHERITS (node); CREATE TABLE node4 () INHERITS (node); CREATE TABLE node5 () INHERITS (node); CREATE TABLE node6 () INHERITS (node); CREATE TABLE node7 () INHERITS (node); CREATE TABLE node8 () INHERITS (node); CREATE TABLE node9 () INHERITS (node); Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 23 / 27
  24. 24. Scenario Création du scenario En mode proxy $ tsung-recorder -p pgsql -P 5433 start Starting Tsung recorder on port 8090 "Record file: /home/rodo/.tsung/tsung_recorder20131003-1633.xml" Depuis les logs $ log2tsung.pl Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 24 / 27
  25. 25. Modules Utilisation de modules Complexe 4> postgis:rnd_point(). "ST_Point(-28.895539, 14.205375)" 5> postgis:rnd_box2d(). "ST_SetSRID(ST_MakeBox2d(ST_Point(-44.348885, 14.746422), ST_Point(141.487238, 27.543301))), 4326)" 7> randomcoord:url({4,4}). "lat=33.325592&lon=-23.764108" Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 25 / 27
  26. 26. Contribuer Docs, https://tsung.readthedocs.org/ Code, https://github.com/processone/tsung/ CI, http://jenkins.quiedeville.org/view/Tsung/ Bugtrack, https://support.process-one.net/browse/TSUN Irc, freenode #tsung ML, https://lists.process-one.net/mailman/ listinfo/tsung-users Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 26 / 27
  27. 27. Questions ? Rodolphe Quiédeville rodolphe@quiedeville.org http://blog.rodolphe.quiedeville.org/ Document publié sous Licence Creative Commons BY-SA 2.0 Rodolphe Quiédeville (Freelance) Tsung - Meetup PostgreSQL 16 avril 2014 27 / 27

×