11. Shimadzu Business Systems
1. 応答性能低下の回避
11
・9/16 Redmine.org News
・2.0.4 is Last Release
of 2.0.x
・1.4.x メンテは2012末迄
早めのUpdateを行いたい。
事前に評価したら… 遅い…
http://www.redmine.org/news/70
12. Shimadzu Business Systems
1. 応答性能低下の回避
12
0 ms
100 ms
200 ms
300 ms
400 ms
500 ms
ITS Top PJ List PJ Top Ticket List Issue A Issue B Issue C
1.4
2.0
2.0Tuned
※計測諸条件→巻末注記1
13. Shimadzu Business Systems
1. 応答性能低下の回避
13
0 ms
100 ms
200 ms
300 ms
400 ms
500 ms
ITS Top PJ List PJ Top Ticket List Issue A Issue B Issue C
1.4
2.0
2.0Tuned
チケット1枚表示 300ms
14. Shimadzu Business Systems
1. 応答性能低下の回避
14
0 ms
100 ms
200 ms
300 ms
400 ms
500 ms
ITS Top PJ List PJ Top Ticket List Issue A Issue B Issue C
1.4
2.0
2.0Tuned
1.4レベルに復活
15. Shimadzu Business Systems
1. 応答性能低下の回避
15
0 ms
100 ms
200 ms
300 ms
400 ms
500 ms
ITS Top PJ List PJ Top Ticket List Issue A Issue B Issue C
1.4
2.0Tuned
1.4レベルに復活
16. Shimadzu Business Systems
1. 応答性能低下の回避
16
0 ms
100 ms
200 ms
300 ms
400 ms
500 ms
ITS Top PJ List PJ Top Ticket List Issue A Issue B Issue C
1.4
2.0Tuned
2.1Tuned
2.1 is Faster than 2.0
17. Shimadzu Business Systems
1. 応答性能低下の回避
17
・画面応答時間の基準とは?
参考文献
#1 Jakob Nielsen (1993). ResponseTimes:The 3 Important Limits
http://www.useit.com/papers/responsetime.html
#2 Miller, R. B. (1968). Response time in man-computer conversational transactions.
http://theixdlibrary.com/pdf/Miller1968.pdf
100ms 直接操作している一体感
1000ms 遅延を感じつつも軽快
10000ms 集中限界、進捗表示必須
18. Shimadzu Business Systems
1. 応答性能低下の回避
18
・画面応答時間の基準とは?
参考文献
#1 Jakob Nielsen (1993). ResponseTimes:The 3 Important Limits
http://www.useit.com/papers/responsetime.html
#2 Miller, R. B. (1968). Response time in man-computer conversational transactions.
http://theixdlibrary.com/pdf/Miller1968.pdf
100ms 直接操作している一体感
1000ms 遅延を感じつつも軽快
10000ms 集中限界、進捗表示必須
ITSは「文房具」
19. Shimadzu Business Systems
1. 応答性能低下の回避
19
・Redmine には手を入れない
1) アップデートに追従
2) プラグインの安定動作
・Rails, Redmineを除く、電子計算機
全域をチューニング対象
・追加投資・高度技術の運用費を抑えたい
できるだけ平易な手法を選択
20. Shimadzu Business Systems
1. 応答性能低下の回避
20
・処理性能向上に資する主要対策
要約:遅い媒体、再処理を回避
# 対象 対策 例
① 通信 通信させない EtherNet
② 情報量 削減・圧縮
HTML
JS
③ キャッシュ 処理させない
CPU
DBMS
24. Server
Shimadzu Business Systems
1. 応答性能低下の回避
24
対策③ キャッシュ → 再処理させない
Unic
o
rn
RAID
OS FS NW
Ruby
Rails
Redmine
DBMS
HTTP
Reverse
Proxy
Client
OS FS NW
Browser
JavaScript / DOM
25. Server
Shimadzu Business Systems
1. 応答性能低下の回避
25
対策③ キャッシュ = ㋖
Unic
o
rn
RAID
OS FS NW
Ruby
Rails
Redmine
DBMS
HTTP
Reverse
Proxy
Client
OS FS NW
Browser
JavaScript / DOM
㋖㋖
㋖㋖
㋖
㋖
㋖
㋖
㋖
㋖
潤沢なメモリ
キャッシュ
26. Shimadzu Business Systems
1. 応答性能低下の回避
26
サーバー構成 - 対象領域
Unicorn
GC.disable
RAID5
+20GB
OS CentOS6 (64bit)
Ruby 1.9.3
Rails3
Redmine2
DBMS
MySQL
5.1
(5.5)
HTTP
Apache
2.2
メモリ 4~8GBCPU 2~4コア
VMware (運用円滑化)
VCS
Subversio
n
1.7
HTTP
Reverse
Proxy
---
5 Key Point
27. Shimadzu Business Systems
1. 応答性能低下の回避
27
サーバー構成 - 対象領域
Unicorn
GC.disable
RAID5
+20GB
OS CentOS6 (64bit)
Ruby 1.9.3
Rails3
Redmine2
DBMS
MySQL
5.1
(5.5)
HTTP
Apache
2.2
メモリ 4~8GBCPU 2~4コア
VMware (運用円滑化)
VCS
Subversio
n
1.7
HTTP
Reverse
Proxy
---
5 Key Point詳説詳説
30. Shimadzu Business Systems
1. 応答性能低下の回避
30
アプリケーションサーバー
Unicorn 設定 (参考)
1)Redmine Root / configu.ru
require ‘unicorn/oob_gc’
use Unicorn::OobGC, 5 # 5回に1度GC
2)Redmine Root / config / unicorn.conf.rb
after_fork do | server, worker |
defined? .....
GC.disable #GC停止
31. Shimadzu Business Systems
1. 応答性能低下の回避
31
MySQL
DBMSのチューニングは難しい。
MySQLと共にInstallされる、
設定テンプレートを土台として
3カ所だけ変更する方法をご紹介。
土台となる設定: my-innodb-heavy-4G.cnf
34. Shimadzu Business Systems
1. 応答性能低下の回避
34
MySQL(参考)
innodb_log_file_size の安全な変更手順
① SET GLOBAL innodb_fast_shutdown = 0;
これをmysql コマンドから実行
② MySQL Serverを停止
③ my.cnf の innodb_log_file_size を変更
④ ログファイル2種(ib_logfile0, ib_logfile1)をRename
⑤ MySQL Serverを起動
⑥ 問題なければ④でRenameしたログファイルを削除
38. Shimadzu Business Systems
2. ITSの耐用検証(応答基準)
38
0 ms
300 ms
600 ms
900 ms
1,200 ms
6万 10万 20万 30万 50万 70万 100万 150万 200万
Issue C
Issue B
Issue A
Ticket List
PJ Top
PJ List
ITS Top
※計測諸条件→巻末注記1
39. Shimadzu Business Systems
2. ITSの耐用検証(応答基準)
39
0 ms
300 ms
600 ms
900 ms
1,200 ms
6万 10万 20万 30万 50万 70万 100万 150万 200万
Issue C
Issue B
Issue A
Ticket List
PJ Top
PJ List
ITS Top
全文検索 20秒
対策必須
DB始動時の
暖機運転5分
2012年末リリースの
MySQL 5.6に対策有り
(巻末注記2-1)
(BufferPool Dump/Restore)
BufferPool
4GBでの結果
→ 8GB必須
※計測諸条件→巻末注記1
40. Shimadzu Business Systems
2. ITSの耐用検証(応答基準)
40
ITSと連動した全文検索の解決策
と、16GBのメモリがあれば
200万チケットの運用に於いても
日常的に使用する画面・機能にお
いて100ms前後の応答性能を
Redmine2.0系, 2.1系で期待
できる。
まとめ