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

マルチプロセス対応版のテストの最終フェーズに入りつつあります。

photo


一先ず別途作成した PMailServer2 用のストレスアプリを別PCからサーバー(と言う名の開発PC)へ接続させてています。
正直、この段階になるとストレスをかける側も苦労していまして1台の PC じゃ負荷をかけても同時 500接続くらいしかかからないんですよね。
大規模テスト?用に、もう1,2台、そこそこのスペックの PC を用意しないとテスト自体ができません。

photo


逆に、これくらいでもサーバー側の負荷は CPU 100% に張り付くということも無く、結構平気で動いてます。
(この記事もサーバー側の PC で書いています。)

テストと言うだけで内容がわからないと、接続だけでは?ということもありますので、ここも説明しますと

1)SMTP は接続して、約1KB のメールを特定のアカウントに送信を行い切断しています。

2)POP3 は接続して、メールボックスにある 20通のメール(全部で 30KB位)を全て受信して切断しています。

3)IMAP4は接続して、2とは別のアカウントのメールボックスにある、30通のメール(約50KB)の ENVELOPE(IMAP4固有のメールの構造を解析して出力するコマンド?)と、メールヘッダーのみを FETCH して切断しています。

という処理を、最初の画像の下段にある数だけ同時に行っています。

接続数は中規模程度で、負荷は小さなメールを大量にやりとりしているというシチュエーションですね。

ちなみに、個人的には大規模とは 同時1,200接続以上の接続環境を想定しています(Exchange Server のデフォルトが最大 1,200接続なので)

今回の処理で、コードの半分どころかそれ以上の部分を書き起こし&最適化していますので、シングルプロセスモードでもパフォーマンスは(若干ですが)上がっています。

今までは必要以上に安全マージンを取っていました。
例えるならば、今回の改良前はサイドミラーで確認していたので、何度も確認してバックしていたのを、改良後では、バックセンサー搭載したので、それを信用してバックしているという感じでしょうか。
例えが、上手くありませんね・・・(^-^;

また今回から、エラーチェックが相当量増えており、且つ今まで省略していたエラー出力を増やしています。
ログ出力とも関連しますが、この辺りの表記も整えていく予定です。(Windows API でのエラーは Win32:xxxxx Winsock 関連のエラーは Winsock:xxxxxx、例外エラーの場合は、その内容を出力する(アクセス違反等)に統一していく予定です)

特にマルチプロセスモードの場合は、このエラー内容が、実際に運用しているサーバーで稼動できる上限の判断基準にもなります。
これは、どんなサーバー機でも最大プロセス、最大スレッドで動かせる訳では無く、他の稼動アプリや搭載メモリ等で、その上限は変わる為です。

いつもより長時間テストに費やしておりますので、今しばらくお待ち頂く様お願い致します。

[更新日付:2018/04/03 00:43:50]
トラックバックを見る(0)
Log Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+sl+1a4faff29a6d2163762e6e52b564821993c9ef1f]
TB Link [https://akisoftware.com/cgi-bin/blom.exe?akisoft+tb+1a4faff29a6d2163762e6e52b564821993c9ef1f]

記事へのコメント

コメントはありません

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