More Related Content
Similar to 【Tektek】linux on domino 20140620
Similar to 【Tektek】linux on domino 20140620 (20)
【Tektek】linux on domino 20140620
- 1. テクてく Lotus 技術者夜会
Linux on Dominoの実力は?
Linux版のDominoってなんか面倒じゃねぇ?
Linux版のDominoって業務で使えるの??
なんて思っている管理者の諸君!
今回は、それを払拭するような内容(???)を
紹介できればと思っています。
2014/06/20(Fri)
ネオアクシス(株)佐藤正彦
- 2. まずは、自己紹介から
氏名 :佐藤正彦(4x歳)
会社名 :ネオアクシス株式会社
職種 :2014年4月より営業へコンバート
それまでは、10数年インフラ技術者兼
Notes/Dominoインフラ技術者
現在 :ユーザ企業で、セールスエンジニアとして就業し、
自社では営業マンとして在籍している2重生活を送る現在。。
2008年からの常駐が長かったので、Notes/Domino以外の
技術がめっぽう強くなってしまった。。(xx365とか、A○Sとか)
が、Notes/Dominoを捨てることができず
営業就任とともに、復活の道を模索中
Facebook :/masa.rosinante
Twitter :@masa.rosinante
Mail :sato_masahiko@neoaxis.co.jp
2
- 11. Langage Pack導入の注意点(64bit版のみ)
• Langage Packを導入する前に、以下のOSモジュールが必須
– glibc
– libgcc
– libstdc++
– libXp
その理由は。。。。
LangagePackが、32bit版しか提供されておらず、64bit版の
場合には上記モジュールを導入しないと、インストールがされない
(らしい)
By ロータスカスタマーサポートのiさん情報(嘘です。。)
11
- 18. 運用④
• Unixコマンドでよく使うもの
1)Notesプロセスの表示
# ps –ef|grep notes
プロセス一覧から「notes」という名前が入っているものの一覧を
表示する
2)コンソールログの表示
tail –f
/local/notesdata/IBM_TECHNICAL_SUPPOER/console.
log
コンソールログを最新のものから連続して表示し続ける
コンソールの監視に利用することが多い
18
- 23. ベンチマーク環境②
サーバ設定
23
設定箇所 設定内容
Domino MailBox数を4つ
メールテンプレートは標準、メールDB数は1万
Notes.iniに以下を設定
・ServerTasks=AdminP,CalCon,Router,Replica,Sch,RnRMgr,Collect,Update
・Server_Max_Concurrent_Trans=1000
・Server_Thread_Pools=100
・Debug_Capture_Timeout=1
・Debug_Show_TimeOut=1
・Debug_ThreadID=1
Windows 1.バッググラウンドプロセスの優先度
アプリケーションサービス優先
2.Windowsファイアーウォール
無効
3.サービス
IIS、DNS等を無効
Linux 1./etc/security/limits.confを変更
notesuser soft nofile 20000
notesuser hard nofile 49152
2.その他
SElinux無効
- 26. ベンチマーク環境⑤
評価指標
26
比較
内容
測定項目 測定値 Windows
パフォーマンスモニタ
測定値 Linux
(vmstat)
内容
- 接続ユーザ数 Domino Serverにより計測 Domino Serverにより計測 サーバに接続したユーザ数
ドミノ トランザクション数 Domino Serverにより計測 Domino Serverにより計測 TPM(Transaction Per Minute)
サーバ 1分あたりのトランザクション数
レスポンスタイム 手動で計測 手動で計測 操作辺りの応答時間
3回の平均値 3回の平均値
CPU CPU利用率 Processor(_Total)% User Time vmstat / us CPUがユーザーサービス
ユーザーモード で利用された率
CPU利用率 Processor(_Total)% Privileged Timevmstat / wa CPUがユーザーサービス以外
ユーザー以外 Processor(_Total)% Interrupt Time で利用された率
の合計値
タスク切り替え数 SystemContext Switches/sec vmstat / cs タスクの1秒間の切替え数
メモリ 割り当てメモリ Domino Serverにより計測 Domino Serverにより計測 メモリの割り当て量
ディスク ディスク読み込み LogicalDisk(C:) 該当項目無し ディスク読み書きバイト数
バイト数 Avg. Disk Bytes/Read (linux 1分のトータル)
該当項目無し vmstat / bo (Win 1分の平均)
4096ブロックで換算
ディスク書き込み LogicalDisk(C:) 該当項目無し ※プラットフォーム間で
バイト数 Avg. Disk Bytes/Write 単純比較できないため
該当項目無し vmstat / bo 3000負荷と10000負荷で
4096ブロックで換算 ボトルネックにならないか検証
- 27. ベンチマーク環境⑥
レスポンス測定
27
No 実施内容
R1 DBアクセス NABを開く ビューが表示される
R2 メールDBアクセス メールDBを開く 受信文書が表示される
R3 メール新規作成 新規メール画面が表示される
R4 宛先選択 一覧画面が表示される
R5 メール送信 送信し受信ビューに戻る
R6 保守タスク 1GDBのfixup 3万文書DBのfixup -F
R7 1GDBのCompact 3万文書DBのCompact -C
- 28. ベンチマーク結果①
トランザクション数
28
トランザクション数比較 3000 User
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
1分
3分
5分
7分
9分
11分
13分
15分
17分
19分
21分
23分
25分
27分
29分
31分
33分
経過時間
トランザクション数
0
2000
4000
6000
8000
10000
12000
14000
16000
18000
20000
接続ユーザー数
Linux接続ユーザー数
Linuxトランザクション数
Windows接続ユーザー数
Windowsトランザクション数
トランザクション数はほぼ同
等だが、若干Linuxのほうが
ピーク時のトランザクション
数は高い
トランザクション数比較 10000 User
0
5000
10000
15000
20000
25000
1分
3分
5分
7分
9分
11分
13分
15分
17分
19分
21分
23分
25分
27分
29分
31分
33分
35分
37分
39分
41分
43分
経過時間
トランザクション数
0
5000
10000
15000
20000
25000
接続ユーザー数
Linux接続ユーザー数
Linuxトランザクション数
Windows接続ユーザー数
Windowsトランザクション数
ユーザーセッション数にくら
べてトランザクション数はさ
ほどあがらないが、ピーク時
はLinuxのほうが高い
セッションがきれない現象が両方
のサーバで確認できた。おそらく
負荷用のクライアントの限界と思
われる。
- 34. ベンチマーク結果⑦
レスポンスタイム
34
Linuxレスポンス Windowsレスポンス
評価項目 3000 User 10000 User 3000 User 10000 User
R1 1.9 1.8 1.5 1.6
R2 4.2 4.8 3.5 2.2
R3 1.3 1.1 1.4 1.5
R4 2.6 1.4 1.3 1.4
R5 1.5 1.9 1.0 1.2
R6 4.5 10.9 5.6 81.0
R7 19.0 24.3 21.7 52.0
No 実施内容
R1 DBアクセス NABを開く ビューが表示される
R2 メールDBアクセ
ス
メールDBを開く 受信文書が表示される
R3 メール新規作成 新規メール画面が表示される
R4 宛先選択 一覧画面が表示される
R5 メール送信 送信し受信ビューに戻る
R6 保守タスク 1GDBのfixup 3万文書DBのfixup -F
R7 1GDBのCompact 3万文書DBのCompact -C
- 40. 最後に..
• Linux on Dominoとして
世間一般的にOSは「Windows」が」常識になってしまっている。なんのアプリで
あっても、OSは「Windows」と。。。。
が、Dominoに限ると、別にOSはこだわる必要はないことが今回の検証でも
良くわかったと思います。
Linuxであったとしても、中規模~大規模ユーザで利用しても何ら問題は
無いと。。
チューニングさえできれば、Windowsよりもパフォーマンスは上になる可能性は
十分あります。
なので、毛嫌いしないでまずは検証用からでもチャレンジしてみてください!
ついでに、監視が必要な場合には「Zabbix」を採用してください!
40
- 41. (参考)Domino起動/停止スクリプト
#!/bin/sh
# chkconfig: 2345 99 00
# Startup script for Domino R5
#
# description: This script starts the Domino server in a screen
session ¥
# And ensures a proper shutdown before the system goes
down.
DESC="Domino R9.0.1"
SrvAcc="notes"
DominoDir="/local/notesdata"
DominoSrv="/opt/ibm/lotus/bin/server"
TimeOutKill=300
TasksToKill="server replica router update stats logasio adminp
sched calconn event pop3 imap maps ldap http smtp mtc amgr"
tok=0
. /etc/rc.d/init.d/functions
getpid() {
pid=`/sbin/pidof -s server`
}
getpid
case "$1" in
start)
if [ "$pid" = "" ]; then
echo -n "Starting $DESC: "
su - $SrvAcc -c "cd $DominoDir && screen -m -d -S
Domino $DominoSrv"
sleep 3
getpid
if [ "$pid" != "" ]; then
success
touch /var/lock/subsys/domino
else
failure
fi
echo
fi
;;
41
- 42. (参考)Domino起動/停止スクリプト
stop)
TimeOutKill=$[TimeOutKill/2]
echo -n "Shutting down $DESC: "
getpid
if [ "$pid" != "" ]; then
su - $SrvAcc -c "cd $DominoDir && $DominoSrv -quit" >
/dev/null &
# Let's wait for the Domino to terminate
while [ "$pid" != "" ] && [ "$tok" != "$TimeOutKill" ] ; do
echo -n "..."
tok=$[tok+1]
sleep 2
getpid
done
echo ""
if [ "$tok" != "$TimeOutKill" ] ; then
success
else
failure
$0 kill
fi
else
failure
fi
echo
;;
kill)
echo -n "Killing $DESC: "
kill -9 `/sbin/pidof -s $TasksToKill` > /dev/null
sleep 1
kill -9 `/sbin/pidof -s $TasksToKill` > /dev/null
sleep 1
tmp=`/sbin/pidof -s $TasksToKill`
if [ "$tmp" = "" ]; then
success
rm -f /var/lock/subsys/domino
else
failure
fi
echo
;;
status)
status server
;;
restart)
if [ "$pid" != "" ]; then
$0 stop
fi
$0 start
;;
42