title_parttitle_parttitle_part
静岡県浜松市であれこれソフトを開発している A.K.I Software のブログです。日々の開発日記やサーバー・セキュリティ関連の話題なども掲載。
<< 2024/04 >>123456789101112131415161718192021222324252627282930
《《《 ネットワーク機器の購入は Amazon で! 》》》
Powered by BLOM PMail Server2 Version 2.27b をリリースしました。
小さくも大きくも閉じたりもしません
16/06/10 22:23 / PMailServer2

表題のバージョンをリリースしました。

主な変更点として

1)メモリリーク等のチェック及び最適化。

全体的な総チェックのような感じです。
1点メモリリークがありましたので修正を行い、それ以外では無駄なメモリを利用していた点を最適化などを行いました。

と言っても大げさな物ではなく、AとBで利用するメモリを「Aを実行する際に確保して開放」そして「Bを実行する際に確保して実行」を「Aを実行時に確保して続けてBを実行してから開放する。」という具合です。

と書くと簡単なんですが、今回は全てのコードをずーーっと追いかけてチェックを入れましたのでトータルでは結構な修正量となっています。

2)Pro版に CPU 負荷によるリミッター制御機能。

これは、メールサーバーにとっては避けられない仕様とも言えるのですが、サーバー同士で同じアドレスに対して転送が行われると、永久ループが発生します。

これは、サーバーAとサーバーB同士の場合は、CPU 負荷よりもネットワークの方が遅いので、トラフィックが増大しますが、CPU の負荷はさほど大きくありません。

問題は、サーバーが同じだった場合です。
一番簡単に実現できるのは、アカウントAのフォワード設定にアカウントBへの転送を、アカウントBのフォワード設定にアカウントAへの転送を設定すると簡単に発生します。

PMail Server2 自身には転送回数によって再転送を中断するような設定もありますが、これがメーリングリストなどで発生すると、一気に大量の配信が発生し、あっと言う間に CPU パワーを食いつぶします。

配信は出来る限り高速に行うように作っていますが、ある意味これが仇となっていました。

CPU パワーを食いつぶすと、サービスアプリケーションである PMail Server2 はまだバックグラウンドで動きますが、デスクトップ自体がフリーズに近い状態になります。

こうなると、サービスを停止させる為にコントロールパネルを開くのもままならず、タスクマネージャーを起動させるのが精一杯になります。

当然、ストレージにも良くありませんし、これからの時期 CPU の熱暴走にも繋がったりします。

前置きが長いのですが、こういう状況を避けるべく、サーバー本体でサーバー機自身の CPU 負荷を監視して、設定されたしきい値を越えた場合、MTA 処理の制限を行う機能を追加しました。

photo


上記の永久ループを意図的に発生させた状況です。

上が従来の通り、制御を行っていない状況です。
完全フリーズとまでは行きませんが、相当な重さになっています。

下が CPU負荷 80% で MTAの制御を実施している状態です。
負荷が上がれば MTA にリミッターがかかり、負荷が下がれば元の処理に戻る。ということを繰り返していますので、負荷が均等に上下しています。
もちろんデスクトップがフリーズするようなこともありません。

今の所、制御が行われるのは MTA のみです。
他のプロトコルに関しては、同時アクセスが増えれば負荷はもちろん上がりますが、基本的に、クライアントからコマンドを送り、サーバーが応答して、クライアントはその応答を待つ。という形ですので、元々負荷が上がりにくい為です。

[更新日付:2016/06/10 22:23:24]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+318e12817de5b12868219114f78ea3c3f629b443]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+318e12817de5b12868219114f78ea3c3f629b443]

記事へのコメント

コメントはありません

名前
コメントキー
 
コメントする時はキーを正確に入力して下さい
コメント
アドレスを含んだコメントはできません
© 2008-10 A.K.I Software all rights reserved.