Skip to content

performance comparison between RabbitMQ and Mysql with Doctrine

Notifications You must be signed in to change notification settings

Feft/RabbitmqVsMysql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RabbitmqVsMysql

performance comparison between RabbitMQ and Mysql with Doctrine, php 7.0.22.
First test Doctrine and Symfony 3.3.9:

ab -n 500 -c 10 http://localhost/rabbitmq_vs_mysql/web/app.php/doctrine

Results:

Server Software:        Apache/2.4.18
Server Hostname:        localhost
Server Port:            80

Document Path:          /rabbitmq_vs_mysql/web/app.php/doctrineMyisam
Document Length:        2 bytes

Concurrency Level:      10
Time taken for tests:   4.684 seconds
Complete requests:      500
Failed requests:        0
Total transferred:      116000 bytes
HTML transferred:       1000 bytes
Requests per second:    106.75 [#/sec] (mean)
Time per request:       93.676 [ms] (mean)
Time per request:       9.368 [ms] (mean, across all concurrent requests)
Transfer rate:          24.19 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.3      0      15
Processing:    21   93  29.1     90     207
Waiting:       21   90  28.9     86     207
Total:         21   93  29.2     90     208

Second test RabbitMQ and Symfony 3.3.9:

ab -n 500 -c 10 http://localhost/rabbitmq_vs_mysql/web/app.php/rabbitmq

Results:

Server Software:        Apache/2.4.18
Server Hostname:        localhost
Server Port:            80

Document Path:          /rabbitmq_vs_mysql/web/app.php/rabbitmq
Document Length:        2 bytes

Concurrency Level:      10
Time taken for tests:   8.285 seconds
Complete requests:      500
Failed requests:        0
Total transferred:      116000 bytes
HTML transferred:       1000 bytes
Requests per second:    60.35 [#/sec] (mean)
Time per request:       165.696 [ms] (mean)
Time per request:       16.570 [ms] (mean, across all concurrent requests)
Transfer rate:          13.67 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.5      0      14
Processing:    99  164  35.5    160     296
Waiting:       99  163  34.4    159     295
Total:         99  164  35.6    160     296

More results in results.ods and results.md files.

Required configuration:

config.yml -> rabbit configuration:

# OldSoundRabbitMq Configuration
old_sound_rabbit_mq:
    connections:
        default:
            host:     'localhost'
            port:     5672
            user:     'guest'
            password: 'guest'
            vhost:    '/'
            lazy:     false
    producers:
        api_call:
            connection:       default
            exchange_options: {name: 'api-call', type: direct}
            queue_options:    {name: 'api_call'}
        api_call_transient:
            connection:       default
            exchange_options: {name: 'api_call_transient', type: direct}
            queue_options:    {name: 'api_call_transient', durable: false}

services.yml -> producer configuration:

    producer_service:
        class: AppBundle\Services\Producer
        arguments: ["@old_sound_rabbit_mq.api_call_producer"]
        #arguments: ["@old_sound_rabbit_mq.api_call_transient_producer"]

AppKernel-> registerBundles() function:

public function registerBundles()
{
    $bundles = [
        ...
        new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
    ];

    ...

    return $bundles;
}

composer.json:

"require": {
        "php": ">=5.5.9",
        "doctrine/doctrine-bundle": "^1.6",
        "doctrine/orm": "^2.5",
        "incenteev/composer-parameter-handler": "^2.0",
        "sensio/distribution-bundle": "^5.0.19",
        "sensio/framework-extra-bundle": "^3.0.2",
        "symfony/monolog-bundle": "^3.1.0",
        "symfony/polyfill-apcu": "^1.0",
        "symfony/swiftmailer-bundle": "^2.3.10",
        "symfony/symfony": "3.3.*",
        "twig/twig": "^1.0||^2.0",
        "php-amqplib/php-amqplib": ">=2.6.1"
    },

About

performance comparison between RabbitMQ and Mysql with Doctrine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages