DBMS/MySQL/DRBD

De TartareFR
Aller à la navigation Aller à la recherche

Introduction

DRBD est une technologie de Raid1 sur IP. C'est à dire que tous ce qui sera écrit sur la partition DRBD d'un noeud, le sera automatiquement sur sa partition jumelle sur l'autre noeud.

DRBD fonctionnant au niveau bloc, il faut un disque ou une partition dédiée à cela. Celle-ci n’a pas besoin (et ne doit pas) d’être formaté.

Depuis CentOS 6, les paquets DRBD ne sont plus dans les dépots de base, il faut donc ajouter ceux de atRPMS. Pour ce faire, ajouter le fichier <path>/etc/yum.repos.d/atrpms.repo</path> contenant ceci :

[atrpms]
name=CentOS $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://atrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1


Prérequis:

  • Ouverture du firewall pour le port tcp:7789 pour le LAN. On part du principe que toute connexion déjà établie est autorisée.
     -A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.0.0/24 -d 192.168.0.0/24 -m tcp -p tcp --dport 7789 -j ACCEPT
  • SELinux est désactivé
  • Ajout des hôtes dans le fichier <path>/etc/hosts</path>
    192.168.0.71    sql1-didier     sql1-didier.b2pweb.com
    192.168.0.72    sql2-didier     sql2-didier.b2pweb.com

Schéma

MySQL-DRBD-Schema.png

Installation

Installation de drbd

On installe drbd ( utilitaires + module noyau ), puis on créer le volume logique qui accueillera notre partition drbd.

# yum install drbd drbd-kmdl-2.6.32-279.19.1.el6.x86_64
Warning.png
Version de drbd-kmld
La version de <package>drbd-kmld</package> doit correspondre à celle du noyau en cours d'utilisation. Pour connaitre celle-ci:
uname -r

Fichier <path>/etc/drbd.conf</path>

#
# /etc/drbd.conf
#
include "drbd.d/global_common.conf";
include "drbd.d/*.res";

Fichier <path>/etc/drbd.d/global_common.conf</path>

global {
        usage-count yes;
        # minor-count dialog-refresh disable-ip-verification
}

common {
        protocol C;

        handlers {
                pri-on-incon-degr "/usr/lib/drbd/notify-pri-on-incon-degr.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
                local-io-error "/usr/lib/drbd/notify-io-error.sh; /usr/lib/drbd/notify-emergency-shutdown.sh; echo o > /proc/sysrq-trigger ; halt -f";
                # fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
                # split-brain "/usr/lib/drbd/notify-split-brain.sh root";
                # out-of-sync "/usr/lib/drbd/notify-out-of-sync.sh root";
                # before-resync-target "/usr/lib/drbd/snapshot-resync-target-lvm.sh -p 15 -- -c 16k";
                # after-resync-target /usr/lib/drbd/unsnapshot-resync-target-lvm.sh;
        }

        startup {
                # wfc-timeout degr-wfc-timeout outdated-wfc-timeout wait-after-sb
        }

        disk {
                # on-io-error fencing use-bmbv no-disk-barrier no-disk-flushes
                # no-disk-drain no-md-flushes max-bio-bvecs
        }

        net {
                # sndbuf-size rcvbuf-size timeout connect-int ping-int ping-timeout max-buffers
                # max-epoch-size ko-count allow-two-primaries cram-hmac-alg shared-secret
                # after-sb-0pri after-sb-1pri after-sb-2pri data-integrity-alg no-tcp-cork
        }

        syncer {
                # rate after al-extents use-rle cpu-mask verify-alg csums-alg
        }
}

Fichier <path>/etc/drbd.d/mysql.res</path>

resource mysql {
        protocol C;
        net {
                cram-hmac-alg sha1;
                shared-secret "FuCk_ThE;@@System!";
                after-sb-0pri discard-older-primary;
                after-sb-1pri call-pri-lost-after-sb;
                after-sb-2pri call-pri-lost-after-sb;
        }
        disk {
                # because partition is on a lvm system
                no-disk-barrier;
        }
        startup {
                wfc-timeout 120;
                degr-wfc-timeout 120;
        }
        syncer {
                rate 100M;
                verify-alg "crc32c"; # Algorythm to tun "drbdadm verify"
        }
        on sql1-didier.b2pweb.com {
                device    /dev/drbd0;
                disk      /dev/vg0/lvmysql;
                address   192.168.0.71:7789;
                meta-disk internal;
        }
        on sql2-didier.b2pweb.com {
                device    /dev/drbd0;
                disk      /dev/vg0/lvmysql;
                address   192.168.0.72:7789;
                meta-disk internal;
        }
}

On copie la configuration sur l'autre noeud

# scp /etc/drbd.conf sql2:/etc/
# scp /etc/drbd.d/* sql2:/etc/drbd.d/

Configuration de DRBD

Sur les deux noeuds, on créer la partition qui accueillera DRBD, ainsi que le point de montage ( sql1 + sql2 )

# lvcreate -n lvmysql -L 100G vg0

On exécute la commande suivante sur les deux noeuds ( sql1 + sql2 )

# drbdadm create-md mysql
md_offset 107374178304
al_offset 107374145536
bm_offset 107370868736

Found some data

 ==> This might destroy existing data! <==

Do you want to proceed?
[need to type 'yes' to confirm] yes

Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
success

Démarrage du service drbd

On démarre le service drbd et on l'enlève à chkconfig sur les deux noeuds ( sql1 + sql2 )

# /etc/init.d/drbd start
# chkconfig drbd off

On note que le service drbd démarre en secondaire. On va donc forcer le primaire ( sql1 ) à se répliquer sur le secondaire ( sql2 ) pour ce premier démarrage.

La commande suivante n'est à lancer que sur le primaire ( sql1 )

# drbdadm -- --overwrite-data-of-peer primary mysql

Maintenant on va attendre que les partitions soient synchronisées. Ce que l'on peut vérifier par la commande : cat /proc/drbd. Vu la taille de notre partition ( 100Go ), ce peut être un peu long ( voir beaucoup ).

Ici, le processus n'est pas terminé.

# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09
 0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----
    ns:237568 nr:0 dw:0 dr:237568 al:0 bm:14 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:104616796
        [>....................] sync'ed:  0.3% (102164/102396)M delay_probe: 44
        finish: 2:39:28 speed: 10,816 (10,328) K/sec

Là, le processus est terminé

# cat /proc/drbd
version: 8.3.8 (api:88/proto:86-94)
GIT-hash: d78846e52224fd00562f7c225bcc25b2d422321d build by mockbuild@builder10.centos.org, 2010-06-04 08:04:09
 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r---n
    ns:105395060 nr:0 dw:1780684 dr:103614448 al:849 bm:6400 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0

On ajoute cette ligne au fichier /etc/fstab pour le montage de notre partition drbd. Celle-ci ne sera pas montée automatiquement au boot mais soit à la main, soit avec heartbeat/corosync. A rajouter sur les deux noeuds ( mail3 + mail 4 )

/dev/drbd0              /var/lib/mysql             ext4    defaults,noauto 0 0

Installation de MySQL

Sur le serveur primaire ( sql1 ), avant l'installation de <package>MySQL-server</package>, on créer le répertoire <path>/var/lib/mysql</path>, ainsi qu'un système de fichier sur la partition drbd et et on monte la partition drbd

mkfs -t ext4 -L datadir /dev/drbd0
mkdir -p /var/lib/mysql
mount /var/lib/mysql

Puis sur les deux serveurs, on installe

yum install mysql-server MySQL-conf-prod mysql-client mysql-shared

Sur le secondaire ( sql2 ), le répertoire <path>/var/lib/mysql</path> n'a aucune importance. On supprime son contenu et on supprime le démarrage automatique du service.

rm -rf /var/lib/mysql/*
chkconfig off mysql

Il s'agit simplement que le système soit informé de l'installation et que tous fichier externe à <path>/var/lib/mysql</path> soit installé/modifié.

Sur le serveur primaire ( sql1 ) On supprime le démarrage automatique du service, on initialise les service et on le démarre.

chkconfig off mysql

mysql_install_db
mysql_secure_installation

/etc/init.d/mysql start

Test failover manuel

En l'état le service est hautement disponible à la manivelle.

Voici la marche à suivre:

Sur le primaire ( qui va devenir secondaire )

  1. Arrêt du service MySQL
    /etc/init.d/mysql stop
  2. Démontage de la partition
    umount /var/lib/mysql
  3. Passage en secondaire de la partition drbd
    drbdadm secondary mysql

Sur le secondaire ( qui va devenir primaire )

  1. Passage en primaire de la partition drbd
    drbdadm primary mysql
  2. Montage de la partition
    mount /var/lib/mysql
  3. Démarrage du service MySQL
    /etc/init.d/mysql start
  4. Test de mysql
    # mysql -p

SysBench

Le programme peut-être téléchargé sur sourceforge

Important.png
Régénération des scripts de construction
Il est obligatoire de régénérer les scripts de construction. On va donc avoir besoin des paquets <package>libtool</package> et <package>mysql-devel</package>
yum install libtool mysql-devel

Ormis la régénération des scripts de construction, C'est du grand classique, on décompacte l'archive, on lance le script configure et on lance la compilation avec make

tar xzf sysbench-0.4.12.tar.gz
cd sysbench-0.4.12
libtoolize --force --copy 
./autogen.sh   
./configure --with-mysql --with-gnu-ld --prefix=/usr/local
make
make install

Benchmark

Test effectués:

  1. sans binlog et lecture écriture sur partition LVM
  2. avec binlog et lecture écriture sur partition LVM
  3. sans binlog et lecture écriture sur partition DRBD
  4. avec binlog et lecture écriture sur partition DRBD
Note.png
Activation du binlog
Test avec binlog

Valeur des paramètres dans le fichier <path>/etc/my.cnf</path>

  • sync_binlog = 1
  • log-bin = /var/lib/mysql/mysql-bin
  • log-slave-updates

Test sans binlog

Les paramètres précédents sont commentés.

Préparation et lancement du bench

Création de la base de test

# mysql -p -e "CREATE DATABASE sbtest"

Script de test :

  1. La base est purgée et repeuplée à chaque groupe de test ( ensemble de tests avec le paramètre thread variant )
  2. Le paramètre sync_binlog est affiché à chaque test
  3. Le groupe de test ne comporte pas la partie Read Only
#!/bin/bash

OUPUT_PATH=$1
[ -z ${OUPUT_PATH} ] && OUPUT_PATH='/tmp/bench-didier'

function bench()
{
        local testID1=$1
        local testID2=$2
        if [ -z ${testID1} ]
        then
                echo "No ID for test number 1"
                exit 2
        fi
        if [ -z ${testID2} ]
        then
                echo "No ID for test number 2"
                exit 2
        fi
        mysql -pb2p2012web -e 'SHOW VARIABLES LIKE "sync_binlog"'
        for thread in 1 8 16 24 32
        do
                echo "Process test ${testID1} with ${thread} threads"
                /usr/local/bin/sysbench --test=oltp --db-driver=mysql --num-threads=${thread} \
                        --mysql-host=localhost --mysql-user=root --mysql-password=b2p2012web \
                        --mysql-db=sbtest --max-time=120 --max-requests=0 --oltp-table-size=1000000 \
                        --oltp-read-only=on run > ${OUPUT_PATH}/test${testID1}-thread${thread}
                echo "Process test ${testID2} with ${thread} threads"
                /usr/local/bin/sysbench --test=oltp --db-driver=mysql --num-threads=${thread} \
                        --mysql-host=localhost --mysql-user=root --mysql-password=b2p2012web \
                        --mysql-db=sbtest --max-time=120 --max-requests=0 --oltp-table-size=1000000 \
                        --oltp-read-only=off run > ${OUPUT_PATH}/test${testID2}-thread${thread}
        done


}

function initMySQL()
{
        local sync_binlog=$1
        if [ -z ${sync_binlog} ]
        then
                echo "No binlog value"
                exit 2
        fi
        mysql -pb2p2012web -e "SET GLOBAL sync_binlog=${sync_binlog}"
        sysbench --test=oltp --db-driver=mysql --mysql-user=root --mysql-password=b2p2012web \
                --mysql-db=sbtest --mysql-host=localhost --mysql-table-engine=innodb cleanup
        sysbench --test=oltp --db-driver=mysql --mysql-user=root --mysql-password=b2p2012web \
                --mysql-db=sbtest --mysql-host=localhost --mysql-table-engine=innodb prepare
}

mkdir -p ${OUPUT_PATH}
rm -f ${OUPUT_PATH}/*

initMySQL 0
bench 1 2

initMySQL 1
bench 3 4

Synthétisation des résultats

Comparatif entre les différentes plateformes, installations et configurations

Benchmark avec 1 thread(s)
Benchmark - 1 thread
test1 sur cloud
sans binlog et sans drbd
test2 sur cloud
avec binlog et sans drbd
test3 sur cloud
sans binlog et avec drbd
test4 sur cloud
avec binlog et avec drbd
test5 sur lame
sans binlog et sans drbd
test6 sur lame
avec binlog et sans drbd
OLTP test statistics
Queries performed
read 762650 407148 698810 131250 880600 761390
write 272375 145410 249575 46875 314500 271925
other 108950 58164 99830 18750 125800 108770
total 1143975 610722 1048215 196875 1320900 1142085
transactions 54475 ( 453.95/s ) 29082 ( 242.34/s ) 49915 ( 415.96/s ) 9375 ( 78.12/s ) 62900 ( 524.16/s ) 54385 ( 453.21/s )
deadlocks 0 ( 0.00/s ) 0 ( 0.00/s ) 0 ( 0.00/s ) 0 ( 0.00/s ) 0 ( 0.00/s ) 0 ( 0.00/s )
R/w requests 1035025 ( 8625.11/s ) 552558 ( 4604.51/s ) 948385 ( 7903.19/s ) 178125 ( 1484.30/s ) 1195100 ( 9959.06/s ) 1033315 ( 8610.94/s )
Other operations 108950 ( 907.91/s ) 58164 ( 484.69/s ) 99830 ( 831.92/s ) 18750 ( 156.24/s ) 125800 ( 1048.32/s ) 108770 ( 906.42/s )
Test execution summary
total time 120.0013s 120.0036s 120.0002s 120.0059s 120.0013s 120.0002s
total number of events 54475 29082 49915 9375 62900 54385
total time taken by event execution 119.6978 119.7684 119.7094 119.9264 119.6023 119.5980
per-request statistics
min 1.88ms 3.12ms 1.88ms 4.93ms 1.26ms 1.25ms
avg 2.20ms 4.12ms 2.40ms 12.79ms 1.90ms 2.20ms
max 40.45ms 53.68ms 551.58ms 87.78ms 22.10ms 24.83ms
Approx. 95% 2.86ms 4.50ms 2.93ms 14.04ms 2.50ms 2.52ms
Threads fairness
events (avg/stddev) 54475.0000/0.00 29082.0000/0.00 49915.0000/0.00 9375.0000/0.00 62900.0000/0.00 54385.0000/0.00
execution time (avg/stddev) 119.6978/0.00 119.7684/0.00 119.7094/0.00 119.9264/0.00 119.6023/0.00 119.5980/0.00
Benchmark avec 8 thread(s)
Benchmark - 8 threads
test1 sur cloud
sans binlog et sans drbd
test2 sur cloud
avec binlog et sans drbd
test3 sur cloud
sans binlog et avec drbd
test4 sur cloud
avec binlog et avec drbd
test5 sur lame
sans binlog et sans drbd
test6 sur lame
avec binlog et sans drbd
OLTP test statistics
Queries performed
read 4972436 1355928 4596060 173600 5327014 5352634
write 1775870 484260 1641450 62000 1902505 1911655
other 710341 193704 656579 24799 760997 764653
total 7458647 2033892 6894089 260399 7990516 8028942
transactions 355167 ( 2959.67/s ) 96852 ( 807.05/s ) 328289 ( 2735.68/s ) 12399 ( 103.27/s ) 380496 ( 3170.74/s ) 382322 ( 3185.95/s )
deadlocks 7 ( 0.06/s ) 0 ( 0.00/s ) 1 ( 0.01/s ) 1 ( 0.01/s ) 5 ( 0.04/s ) 9 ( 0.07/s )
R/w requests 6748306 ( 56234.79/s ) 1840188 ( 15333.86/s ) 6237510 ( 51978.08/s ) 235600 ( 1962.19/s ) 7229519 ( 60244.79/s ) 7264289 ( 60534.56/s )
Other operations 710341 ( 5919.39/s ) 193704 ( 1614.09/s ) 656579 ( 5471.37/s ) 24799 ( 206.54/s ) 760997 ( 6341.52/s ) 764653 ( 6371.98/s )
Test execution summary
total time 120.0023s 120.0081s 120.0027s 120.0696s 120.0024s 120.0023s
total number of events 355167 96852 328289 12399 380496 382322
total time taken by event execution 957.7460 959.1517 957.8218 960.1471 956.6375 956.6307
per-request statistics
min 1.88ms 3.25ms 1.82ms 8.93ms 1.50ms 1.28ms
avg 2.70ms 9.90ms 2.92ms 77.44ms 2.51ms 2.50ms
max 175.12ms 134.68ms 453.46ms 192.95ms 29.44ms 23.86ms
Approx. 95% 3.37ms 13.60ms 3.68ms 88.67ms 2.99ms 2.95ms
Threads fairness
events (avg/stddev) 44395.8750/689.85 12106.5000/30.22 41036.1250/434.35 1549.8750/1.45 47562.0000/442.35 47790.2500/597.90
execution time (avg/stddev) 119.7183/0.00 119.8940/0.00 119.7277/0.00 120.0184/0.02 119.5797/0.00 119.5788/0.00
Benchmark avec 16 thread(s)
Benchmark - 16 threads
test1 sur cloud
sans binlog et sans drbd
test2 sur cloud
avec binlog et sans drbd
test3 sur cloud
sans binlog et avec drbd
test4 sur cloud
avec binlog et avec drbd
test5 sur lame
sans binlog et sans drbd
test6 sur lame
avec binlog et sans drbd
OLTP test statistics
Queries performed
read 8554546 1326010 7279678 172662 9637152 9734634
write 3055195 473575 2599885 61665 3441840 3476655
other 1222074 189430 1039951 24666 1376730 1390655
total 12831815 1989015 10919514 258993 14455722 14601944
transactions 611035 ( 5091.82/s ) 94715 ( 789.18/s ) 519974 ( 4333.02/s ) 12333 ( 102.65/s ) 688362 ( 5736.24/s ) 695324 ( 5794.25/s )
deadlocks 4 ( 0.03/s ) 0 ( 0.00/s ) 3 ( 0.02/s ) 0 ( 0.00/s ) 6 ( 0.05/s ) 7 ( 0.06/s )
R/w requests 11609741 ( 96745.25/s ) 1799585 ( 14994.50/s ) 9879563 ( 82327.80/s ) 234327 ( 1950.34/s ) 13078992 ( 108989.51/s ) 13211289 ( 110091.83/s )
Other operations 1222074 ( 10183.68/s ) 189430 ( 1578.37/s ) 1039951 ( 8666.06/s ) 24666 ( 205.30/s ) 1376730 ( 11472.53/s ) 1390655 ( 11588.56/s )
Test execution summary
total time 120.0032s 120.0163s 120.0028s 120.1469s 120.0023s 120.0024s
total number of events 611035 94715 519974 12333 688362 695324
total time taken by event execution 1915.7032 1919.2213 1916.1328 1921.0758 1914.9206 1914.8667
per-request statistics
min 2.02ms 3.63ms 2.03ms 9.80ms 1.69ms 1.70ms
avg 3.14ms 20.26ms 3.69ms 155.77ms 2.78ms 2.75ms
max 388.10ms 268.02ms 2806.90ms 305.93ms 98.29ms 154.89ms
Approx. 95% 4.11ms 31.00ms 5.15ms 178.31ms 3.30ms 3.08ms
Threads fairness
events (avg/stddev) 38189.6875/430.66 5919.6875/15.96 32498.3750/420.45 770.8125/2.27 43022.6250/454.00 43457.7500/469.96
execution time (avg/stddev) 119.7315/0.00 119.9513/0.01 119.7583/0.00 120.0672/0.04 119.6825/0.00 119.6792/0.00
Benchmark avec 24 thread(s)
Benchmark - 24 threads
test1 sur cloud
sans binlog et sans drbd
test2 sur cloud
avec binlog et sans drbd
test3 sur cloud
sans binlog et avec drbd
test4 sur cloud
avec binlog et avec drbd
test5 sur lame
sans binlog et sans drbd
test6 sur lame
avec binlog et sans drbd
OLTP test statistics
Queries performed
read 8007132 1304828 7263214 175784 8929564 8972768
write 2859690 466010 2594005 62780 3189130 3204560
other 1143875 186403 1037602 25112 1275651 1281823
total 12010697 1957241 10894821 263676 13394345 13459151
transactions 571937 ( 4765.96/s ) 93201 ( 776.50/s ) 518801 ( 4322.92/s ) 12556 ( 104.43/s ) 637825 ( 5315.06/s ) 640911 ( 5340.74/s )
deadlocks 1 ( 0.01/s ) 1 ( 0.01/s ) 0 ( 0.00/s ) 0 ( 0.00/s ) 1 ( 0.01/s ) 1 ( 0.01/s )
R/w requests 10866822 ( 90553.46/s ) 1770838 ( 14753.61/s ) 9857219 ( 82135.51/s ) 238564 ( 1984.17/s ) 12118694 ( 100986.23/s ) 12177328 ( 101474.18/s )
Other operations 1143875 ( 9531.93/s ) 186403 ( 1553.00/s ) 1037602 ( 8645.84/s ) 25112 ( 208.86/s ) 1275651 ( 10630.12/s ) 1281823 ( 10681.48/s )
Test execution summary
total time 120.0045s 120.0274s 120.0117s 120.2339s 120.0034s 120.0042s
total number of events 571937 93201 518801 12556 637825 640911
total time taken by event execution 2875.9517 2879.3811 2876.2007 2882.6813 2875.2948 2875.2542
per-request statistics
min 2.08ms 3.66ms 2.08ms 10.96ms 1.67ms 1.63ms
avg 5.03ms 30.89ms 5.54ms 229.59ms 4.51ms 4.49ms
max 528.54ms 383.68ms 892.97ms 460.99ms 54.49ms 48.65ms
Approx. 95% 9.45ms 52.51ms 10.02ms 244.02ms 9.30ms 9.04ms
Threads fairness
events (avg/stddev) 23830.7083/307.02 3883.3750/20.98 21616.7083/257.97 523.1667/1.55 26576.0417/397.44 26704.6250/421.47
execution time (avg/stddev) 119.8313/0.00 119.9742/0.01 119.8417/0.00 120.1117/0.07 119.8040/0.00 119.8023/0.00
Benchmark avec 32 thread(s)
Benchmark - 32 threads
test1 sur cloud
sans binlog et sans drbd
test2 sur cloud
avec binlog et sans drbd
test3 sur cloud
sans binlog et avec drbd
test4 sur cloud
avec binlog et avec drbd
test5 sur lame
sans binlog et sans drbd
test6 sur lame
avec binlog et sans drbd
OLTP test statistics
Queries performed
read 7656782 1287524 6343358 176120 8397284 8428868
write 2734565 459830 2265485 62900 2999030 3010310
other 1093826 183932 906193 25159 1199611 1204123
total 11485173 1931286 9515036 264179 12595925 12643301
transactions 546913 ( 4557.40/s ) 91966 ( 766.17/s ) 453096 ( 3775.70/s ) 12579 ( 104.57/s ) 599805 ( 4997.94/s ) 602061 ( 5016.92/s )
deadlocks 0 ( 0.00/s ) 0 ( 0.00/s ) 1 ( 0.01/s ) 1 ( 0.01/s ) 1 ( 0.01/s ) 1 ( 0.01/s )
R/w requests 10391347 ( 86590.54/s ) 1747354 ( 14557.14/s ) 8608843 ( 71738.40/s ) 239020 ( 1986.98/s ) 11396314 ( 94961.01/s ) 11439178 ( 95321.57/s )
Other operations 1093826 ( 9114.79/s ) 183932 ( 1532.33/s ) 906193 ( 7551.40/s ) 25159 ( 209.15/s ) 1199611 ( 9995.89/s ) 1204123 ( 10033.84/s )
Test execution summary
total time 120.0056s 120.0342s 120.0033s 120.2933s 120.0105s 120.0062s
total number of events 546913 91966 453096 12579 599805 602061
total time taken by event execution 3836.1404 3839.5396 3836.5610 3844.4712 3835.4883 3835.3976
per-request statistics
min 2.10ms 3.35ms 2.05ms 9.20ms 1.49ms 1.78ms
avg 7.01ms 41.75ms 8.47ms 305.63ms 6.39ms 6.37ms
max 518.17ms 524.17ms 8542.90ms 708.98ms 677.23ms 887.70ms
Approx. 95% 15.84ms 73.80ms 18.15ms 321.00ms 14.76ms 14.56ms
Threads fairness
events (avg/stddev) 17091.0312/158.44 2873.9375/14.92 14159.2500/139.31 393.0938/0.88 18743.9062/144.63 18814.4062/190.17
execution time (avg/stddev) 119.8794/0.00 119.9856/0.01 119.8925/0.00 120.1397/0.09 119.8590/0.00 119.8562/0.00

Graphiques comparatifs

MySQL-DRBD-Chart-Transactions.svg

MySQL-DRBD-Chart-RwRequests.svg

MySQL-DRBD-Chart-OtherOp.svg