Bitnami Redmine for Windowsの性能改善にはThinの追加が効果的

Redmineの始め方

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を増やして、同時に処理できるユーザーからのリクエストを増やしましょう。

新たな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を追加

追加した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の起動/終了を追加

追加した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を追加

最後に、追加した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です。

 

最後までご覧いただきありがとうございます。
では、また。

 

タイトルとURLをコピーしました