Windowsサーバーでは、Bitnami Redmine Stack for Windowsをインストールされている方も多いと思います。
必要なソフトウェアがオールインワンになっていて簡単に始められますが、実務で継続運用するには、各構成サーバーの知識も多少は必要ですし、システム設定を変更してチューニングが必要になる場合もあります。
特に、同時に数十人が接続するようになると、応答性能が極端に悪化してきます。
そのような時に試していただきたいのが「Thinの追加」です。
Bitnami Redmineに関係なく、Windowsサーバーの場合には有効な対策です。
新たなThinの追加方法だけでなく、既存のThinと一緒に起動/終了するための設定や、Bitnami Redmineの管理ツールへの追加方法も、合わせて紹介します。
Bitnami Redmine Stack 4.1.0では、管理ツールのショートカットが自動でメニューに追加されなくなりました。
インストールディレクトリ下に、「manager-windows.exe」という名前で格納されています。
インストール時のThinは2つ
Bitnami Redmine Stackは、Webサーバー層、Webアプリケーション層、データベース層の3層で構成されています。
また、WebサーバーにはApache、アプリケーションサーバーにはThin、データベースにはMySQLを使用しています。
Thinは、Ruby on Rails環境のアプリケーションサーバーです。
Webサーバー(この場合はApache)から受け取ったリクエストをもとにRubyを実行して、結果をWebサーバーに返します。
Bitmani Redmine Stackのインストール時には、Thinが2つ生成されます。
同時接続のユーザー数が増えてくると、このThinに待ち行列ができてしまうことがあります。
このような場合は、Thinを増やして、同時に処理できるユーザーからのリクエストを増やしましょう。
3つ目のThinを追加する
実際に、3つ目のThinを追加しながら手順を紹介します。
「C:\Bitnami\redmine\apps\redmine\scripts」フォルダに、インストール時にThinを生成するための実行ファイル「serviceinstall.bat」があります。このファイルを流用して、新たに、次のような内容の実行ファイルを作成します。
すでに存在する「Thinの名前」と「ポート番号」が被らないように注意してください。
@echo off "C:¥Bitnami¥redmine/apps/redmine¥scripts¥winserv.exe" install "redmineThin3" -start auto "C:¥Bitnami¥redmine¥ruby¥bin¥ruby.exe" "C:¥Bitnami¥redmine/apps/redmine¥htdocs¥bin¥thin" start -p 3003 -e production -c "C:¥Bitnami¥redmine/apps/redmine/htdocs" -a 127.0.0.1 --prefix /redmine exit /B
ファイルが作成できたら、実行してみましょう。
Windowsのサービスを表示すると、「redmineThin3」が追加されていることを確認できます。
プロキシバランサーへの追加
追加したThinにも、ユーザーからのリクエストが振り分けられるよう、プロキシを設定します。
「C:\Bitnami\redmine\apps\redmine\conf」フォルダの「httpd-prefix.conf」を開いて、Proxy balancerの記述を、次のように変更します。
<Proxy balancer://redminecluster>
BalancerMember http://127.0.0.1:3001/redmine
BalancerMember http://127.0.0.1:3002/redmine
BalancerMember http://127.0.0.1:3003/redmine
</Proxy>
servicerun.batへの追加
追加したThinが、既存の2つのThinと一緒に、起動、及び終了するよう実行ファイルに追加しましょう。
「C:\Bitnami\redmine\apps\redmine\scripts」フォルダにある「servicerun.bat」をテキストエディタで開きます。
次のように「redmineThin3」を追加して保存します。
@echo off rem START or STOP Apache Service rem -------------------------------------------------------- rem Check if argument is STOP or START if not ""%1"" == ""START"" goto stop net start redmineThin1 net start redmineThin2 net start redmineThin3 goto end :stop net stop redmineThin1 net stop redmineThin2 net stop redmineThin3 :end exit
管理ツールへの追加
最後に、追加したThinが、既存の2つのThinと一緒に、Bitnami Redmineの管理ツールに表示されるようにしましょう。
管理ツールを起動している場合は一旦終了してください。
「C:\Bitnami\redmine」フォルダの「properties.ini」をテキストエディタで開きます。
ファイルの最後に、次のコードを追加して保存します。
これで、先ほど作成したThinが管理ツールに認識されます。
[Thin_redmine3] thin_server_port=3003 thin_unique_service_name=redmineThin3
管理ツールを起動すると、認識された「Thin_redmine3」が表示されています。
[Restart All]ボタンをクリックしてみてください。
認識された「Thin_redmine3」を含むすべてのサービスが起動すればOKです。
最後までご覧いただきありがとうございます。
では、また。
コメント