Content

Notre client souffrait d'un temps de réponse important sur son application (RoR) d'Easy Redmine. Easy Redmine fonctionnait sur le serveur virtuel Debian du client.

Easy Software Ltd. a complété un "how-to" interne pour accélérer les applicationsRuby On Rails simplement en réglant les composants individuels de l'environnement de production (RoR) d'Easy Redmine constitué d'un serveur web, d'un serveur d'application et d'un serveur de base de données. 

Cela a uniquement été testé sur les serveurs Linux fonctionnant sur CentOS et Ubuntu/Debian

Ce "how-to" nécessite d'avoir des connaissances avancées de Linux.

Les recommandations d'Easy pour des applications RoR plus rapides

Utiliser Nginx pour serveur internet avec sockets Unix

upstream unicorn {

server unix:/tmp/easysredmine.sock fail_timeout=0;

}

server {

listen 80;

server_name easysredmine;

error_log /var/log/nginx/easysredmine_error.log;

access_log /srv/log/nginx/easysredmine_access.log;

location / {

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header Host $http_host;

proxy_redirect off;

proxy_pass http://unicorn;

}

}

 

Utiliser Unicorn pour serveur d'application Ruby avec les réglages suivants dans unicorn.rb

worker_processes 4
listen '/tmp/easyredmine.sock'

Timeout 300

Utiliser ruby 2.1.5 avec railsexpress patch

rvm install ruby-2.1.5 --patch railsexpress

 

Régler l'environnement Ruby

export RUBY_GC_HEAP_INIT_SLOTS=1800000;

export RUBY_HEAP_FREE_MIN=18000;

export RUBY_GC_MALLOC_LIMIT=120000000;

export RUBY_HEAP_SLOTS_INCREMENT=144000;

export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1;

 

Utiliser les bases de données MariaDB ou MySQL 5.5 avec les réglages suivants

[mysqld]

bulk_insert_buffer_size = 64M

tmp_table_size = 512M

max_heap_table_size = 512M

query_cache_limit = 512K

query_cache_size = 512M

Dans ce cas particulier, cela a permis de diviser le délai de réponse par 7 comparé aux réglages par défauts des clients.

 

Résultats d'optimisation de la vitesse Redmine

Optimisation de la vitesse Redmine - Avant et Après

 

acceleration-de-rails-redmine-sans-modifier-le-code-ruby
Additional information
Free Trial

Easy Redmine 2018 mise à jour
Plugins & fonctions principales
Nouveau design mobile
Mises à jour du serveur
Cloud Global

Essai gratuit

Testez en lignedans 14 jours d'essai

Essai gratuit & vedette complet, SSL agréé, Sauvegardes quotidiennes

ou