SlideShare a Scribd company logo
1 of 45
インフラエンジニアから見た
Redmine
2015/11/28 redmine.tokyo LT
Sho DOUHASHI (Agileware Inc.)
30秒で自己紹介
•Sho DOUHASHI (どうはし しょう)
•Agileware Inc. CTO
•プログラマ / インフラエンジニア
•Redmine使用歴: 4,5年?
•初redmine.tokyo参加 (懇親会も出ます)
話したいこと
•Redmine、チューニングしてますか?
•ちょっとだけ宣伝させてください(30秒)
突然ですが。
あなたのRedmine、
もしかして、
インストールしたままの状態
だったりしませんか?
あなたのRedmine、
こんな問題、抱えてませんか?
Redmineってどんどん遅くなる…
•長く使ってるとモッサリする…
•大量のチケットを出すと遅い…
•ユーザ数が増えてから重くなった…
そんなときは、
Redmineのチューニングしましょう!
そんなんわかってるけど。。でも、
チューニングってよくわかんない!
めんどくさい!
そんなあなた!
そんなあなたのために、
手っ取り早くできるチューニング、
用意しました。
こんな環境だったら効果あり!
こんな状態のRedmine限定
•Redmineをインストールしたままの状態。
•設定も参考Webのまんま。
•CPUを複数積んでる。
方法は
ワーカー増やすだけ。
Redmineって、
メモリの搭載量あんま意味ないです。
(ワーカー数分メモリ確保できれば)
CPUの数がモノをいいます
実際のベンチマーク見てみましょう
検証環境
検証環境
•AWS m4.4xlarge
• vCPU 16
• mem 64GB
•Ubuntu 14.04
• Redmine 3.1.2 (nginx + unicorn)
• MySQL(EC2内にインストール)
• チケット数 1万強(あんま関係ない)
HTTPベンチマークツール「wrk」
• https://github.com/wg/wrk.git
• 使い方は↓みたいな感じ
• wrk -t 10 –c 100 -d 10 http://redmine.server/issues
• 10スレッド / 同時100コネクション / 10秒間
検証方法
• チケット一覧の表示 (シンプルにこれだけ)
• wrk -t 10 –c 100 -d 10 http://redmine.server/issues
• スレッド10個で100リクエストを10秒間
それでは結果行ってみましょう
Unicornワーカー 2台
Running 10s test @ http://localhost/issues
10 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.02s 567.30ms 1.95s 57.14%
Req/Sec 9.74 6.58 30.00 61.73%
213 requests in 10.02s, 7.25MB read
Socket errors: connect 0, read 0, write 0, timeout 171
Requests/sec: 21.26
Transfer/sec: 741.33KB
Unicornワーカー 16台
Running 10s test @ http://localhost/issues
10 threads and 100 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 1.07s 184.42ms 1.42s 87.14%
Req/Sec 14.95 12.04 80.00 69.10%
894 requests in 10.08s, 30.44MB read
Requests/sec: 88.67 => 4倍!
Transfer/sec: 3.02MB
ポイントは
「CPU数分ワーカー増やすこと」
(それ以上だとあんま意味ないです)
これだけでも相当効果あります!
お試しあれ!
コレでダメなら、分散考えましょう!
相談のりますよ!
最後に
宣伝させてください!
Redmineの保守が大変な方に、
こんなん用意しました!
•AWS でRedmineをSaaSで運用します。
•LycheeRedmine製品バンドル!
•プラグイン導入自由!(僕が入れます)
•HA構成 / 他いろいろなオプションあります!
•手厚いサポート (主に僕がします)
•詳しくは、 http://cloud.lychee-redmine.jp
ご清聴ありがとうございました

More Related Content

What's hot

Redmineのチケット分類例
Redmineのチケット分類例Redmineのチケット分類例
Redmineのチケット分類例
namamugi share
 

What's hot (20)

第6回品川Redmine勉強会発表資料「開発基盤としてのRedmine~Redmineをカスタマイズするポイント」
第6回品川Redmine勉強会発表資料「開発基盤としてのRedmine~Redmineをカスタマイズするポイント」第6回品川Redmine勉強会発表資料「開発基盤としてのRedmine~Redmineをカスタマイズするポイント」
第6回品川Redmine勉強会発表資料「開発基盤としてのRedmine~Redmineをカスタマイズするポイント」
 
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
 
Redmineのチケット分類例
Redmineのチケット分類例Redmineのチケット分類例
Redmineのチケット分類例
 
Redmineプラグイン活用入門
Redmineプラグイン活用入門Redmineプラグイン活用入門
Redmineプラグイン活用入門
 
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
「プロジェクト管理」を超えた Redmine 活用の道のりとこれから
 
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い- Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
Redmineはキャズムを超える -日経SYSTEMS寄稿の思い-
 
Redmineの裏の顔~開発基盤としてのRedmine
Redmineの裏の顔~開発基盤としてのRedmineRedmineの裏の顔~開発基盤としてのRedmine
Redmineの裏の顔~開発基盤としてのRedmine
 
ある工場の Redmine 2017
ある工場の Redmine 2017ある工場の Redmine 2017
ある工場の Redmine 2017
 
Redmineをプラグインで拡張しよう
Redmineをプラグインで拡張しようRedmineをプラグインで拡張しよう
Redmineをプラグインで拡張しよう
 
とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例とあるメーカーのRedmine活用事例
とあるメーカーのRedmine活用事例
 
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
 
Redmineサーバ統合事例
Redmineサーバ統合事例Redmineサーバ統合事例
Redmineサーバ統合事例
 
アジャイルオフショア開発モデル
アジャイルオフショア開発モデルアジャイルオフショア開発モデル
アジャイルオフショア開発モデル
 
はじめる! Redmine
はじめる! Redmineはじめる! Redmine
はじめる! Redmine
 
Redmine導入しました(公開)
Redmine導入しました(公開)Redmine導入しました(公開)
Redmine導入しました(公開)
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介Unofficial Redmine Cookingの紹介
Unofficial Redmine Cookingの紹介
 
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのかRedmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
Redmine勉強会vol.1 なぜ組織にはドキュメンテーションが必要なのか
 
Redmine 310 320_new_feature
Redmine 310 320_new_featureRedmine 310 320_new_feature
Redmine 310 320_new_feature
 
Performance tuning the first
Performance tuning the firstPerformance tuning the first
Performance tuning the first
 

Viewers also liked

ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
Ryosuke Uchitate
 

Viewers also liked (10)

Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13Redmine4時代のプラグイン開発 redmine.tokyo #13
Redmine4時代のプラグイン開発 redmine.tokyo #13
 
Redmine.tokyo 13 questionnaire
Redmine.tokyo 13 questionnaireRedmine.tokyo 13 questionnaire
Redmine.tokyo 13 questionnaire
 
灰かぶりチケットはシンデレラに成り得るか?
灰かぶりチケットはシンデレラに成り得るか?灰かぶりチケットはシンデレラに成り得るか?
灰かぶりチケットはシンデレラに成り得るか?
 
Redmine tokyo #13 LT
Redmine tokyo #13 LT Redmine tokyo #13 LT
Redmine tokyo #13 LT
 
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
劇的改善 Ci4時間から5分へ〜私がやった10のこと〜
 
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立てユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
ユニットテストのアサーション 流れるようなインターフェースのAssertJを添えて 入門者仕立て
 
Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門Java9を迎えた今こそ!Java本格(再)入門
Java9を迎えた今こそ!Java本格(再)入門
 
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
 
JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座JJUG初心者のためのJava/JJUG講座
JJUG初心者のためのJava/JJUG講座
 
Java SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心にJava SE 9の紹介: モジュール・システムを中心に
Java SE 9の紹介: モジュール・システムを中心に
 

Similar to インフラエンジニアから見たRedmine redmine.tokyo #9

TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
Shinichiro Yoshida
 

Similar to インフラエンジニアから見たRedmine redmine.tokyo #9 (20)

Redmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターンRedmine + Lychee導入のアンチパターン
Redmine + Lychee導入のアンチパターン
 
【15-A-4】Redmine + Lychee 導入のアンチパターン
【15-A-4】Redmine + Lychee 導入のアンチパターン【15-A-4】Redmine + Lychee 導入のアンチパターン
【15-A-4】Redmine + Lychee 導入のアンチパターン
 
ゲームをしていたら半年で大規模サービスのエンジニアとして成長していた - 原動力のマネジメント方法 -
ゲームをしていたら半年で大規模サービスのエンジニアとして成長していた - 原動力のマネジメント方法 -ゲームをしていたら半年で大規模サービスのエンジニアとして成長していた - 原動力のマネジメント方法 -
ゲームをしていたら半年で大規模サービスのエンジニアとして成長していた - 原動力のマネジメント方法 -
 
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
 
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
 
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けようDjango ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
Django ORM道場:クエリの基本を押さえ,より良い形を身に付けよう
 
[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1[141004] cedec 2014 참관기 & 강연 리뷰 #1
[141004] cedec 2014 참관기 & 강연 리뷰 #1
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
 
connpass特徴と開発の流れ
connpass特徴と開発の流れconnpass特徴と開発の流れ
connpass特徴と開発の流れ
 
人と向き合うプロトタイピング
人と向き合うプロトタイピング人と向き合うプロトタイピング
人と向き合うプロトタイピング
 
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコムResemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
Resemaraを支えた技術 フライングゲットガチャの舞台裏 #ksgstudy #ドリコム
 
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
触ってみよう! Robotics Studio -レゴマインドストームRCXを動かしてみる
 
20220528_redmine東京発表_一人Redmineの勧め
20220528_redmine東京発表_一人Redmineの勧め20220528_redmine東京発表_一人Redmineの勧め
20220528_redmine東京発表_一人Redmineの勧め
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう【Redmine】ツールバーボタンを作ろう
【Redmine】ツールバーボタンを作ろう
 
Soft layer 無料体験サーバーをterminateしてみた-140901
Soft layer 無料体験サーバーをterminateしてみた-140901Soft layer 無料体験サーバーをterminateしてみた-140901
Soft layer 無料体験サーバーをterminateしてみた-140901
 
Redmine Applied for Large Scale
Redmine Applied  for Large ScaleRedmine Applied  for Large Scale
Redmine Applied for Large Scale
 
IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門IT系エンジニアのためのプレゼンテーション入門
IT系エンジニアのためのプレゼンテーション入門
 
初心者にも丸わかり!Soft layeroverlaynetworkの魅力
初心者にも丸わかり!Soft layeroverlaynetworkの魅力初心者にも丸わかり!Soft layeroverlaynetworkの魅力
初心者にも丸わかり!Soft layeroverlaynetworkの魅力
 
Kintoneでエンジニアが納得のいく社内システムをつくる
Kintoneでエンジニアが納得のいく社内システムをつくるKintoneでエンジニアが納得のいく社内システムをつくる
Kintoneでエンジニアが納得のいく社内システムをつくる
 

インフラエンジニアから見たRedmine redmine.tokyo #9