WindowsのBitnami RedmineはThinを追加して応答性能を改善する

Redmine

WindowsサーバーでRedmineを運用されている場合、Bitnami Redmine Stackをインストールされている方も多いと思います。

必要なソフトウェアがオールインワンになっていて、簡単に始められるメリットがありますが、継続して快適に使うには、構成する各サーバーについて多少の知識は必要ですし、システム設定を変更してチューニングが必要な場合もあります。特に、同時に使用するユーザー数が数十人になってくると、応答性能が極端に悪化してきます。

そのような時に、是非試していただきたいのが、Thinの追加です。Bitnami Redmineに関係なく、Windowsサーバーの場合には有効な対策です。

新たなThinの追加方法だけでなく、既存のThinと一緒に起動/終了するための設定や、Bitnami Redmineの管理ツールへの追加方法も、合わせて紹介します。

Bitnami Redmine Stack 4.1.0では、管理ツールのショートカットが自動でメニューに追加されなくなりました。
インストールディレクトリ下に、「manager-windows.exe」という名前で格納されています。

スポンサーリンク

インストール時に生成される2つのThin

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です。

 

0

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