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

Redmine

Windowsサーバーの場合、Bitnami Redmine Stackをインストールして、Redmine環境を構築されている方も多いと思います。

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

そのような時に、是非試していただきたいのが、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 STARTif not “”%1″” == “”START”” goto stopnet start redmineThin1net start redmineThin2

net start redmineThin3

goto end
:stop

net stop redmineThin1

net stop redmineThin2

net stop redmineThin3

:end
exit

Bitnami Redmineの管理ツールに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をコピーしました