高度なトピック

これらの高度なトピックは、CentreStackのスムーズな運用に不可欠なweb.configファイルの変更を必要とするため、Gladinetサポートに相談せずにweb.configファイルを変更することはお勧めしません。

スプリットデータベース

データベースには二種類の情報が含まれています。

最初のタイプの情報は、比較的静的な構成データです。例えば、ユーザー名、ユーザーのメールアドレス、ユーザーが公開共有したファイルやフォルダーなどです。このタイプの情報は比較的小さく、ユーザー一人あたり5000バイトで見積もることができます。したがって、2000ユーザーいる場合、10MBと見積もることができます。

2番目の情報タイプは比較的変動が大きいです。例えば、ファイル変更ログ、監査トレース、インデックス用のファイルリストなどです。1日にユーザー1人あたり100件のファイル変更があると推定され、1件のファイル変更はデータベースストレージで1000バイトと推定できます。したがって、15日間(デフォルトの変更ログ履歴)の場合、100*1000*15 = 1.5MBがユーザー1人あたりの15日間の期間で推定されます。HIPPAコンプライアンスが必要な場合、デフォルトの変更ログ履歴はかなり長くなるため、このデータベースの部分はずっと大きくなります。

パフォーマンスと規制上の理由から、静的な情報を含むデータベースと、比較的変動が多い情報を含むデータベースの二つに分割することをお勧めします。

二次データベース(より変動性の高いデータ用)は、MySQLデータベースまたはMicrosoft SQLデータベースのいずれかにすることができます。

データベースを分割するには、まず、揮発性情報を格納するために使用される新しいデータベースを作成します。データベースユーザーを作成し、このユーザーにデータベースへの完全アクセス権(db_ownerに相当)を許可します。データベースとユーザーが作成されたら、クラスタ管理者としてCentreStack管理コンソールにサインインし、クラスタダッシュボード > クラスタ設定 > チェンジログに移動します。適切な接続文字列を使用して、「Logging DB Connection String」設定を更新します:

_images/image063-03192025.png

MySQLデータベースの接続文字列例

Server=localhost;Port=3306;Database=gladinet;Uid=root;Pwd=password;

Microsoft SQL データベースの接続文字列の例

Data Source=server_name;Initial Catalog=logging_db_name;User Id=user_id;Password=user_password;

認証アルゴリズムをバージョン2に変更

新しいCentreStackをインストールして、レガシーユーザーがいない場合は、認証アルゴリズムをバージョン2にハードコードすることをお勧めします。

インストールディレクトリのルートフォルダにあるweb.configファイルを探し(前のセクションで参照されたのと同じweb.configファイル)、<appSettings file="branding.config">セクション内に行を追加してください。

<add key="sys_access_ver" value="2" />

同期アップローダーを非同期アップローダーに変更する

C:Program Files (x86)CentreStack(またはインストールディレクトリ)の下にあるUploadDownloadProxyを調べ、web.configファイルを特定してください。SyncedStorageProxiedPutUploadHandlerと記載されている行を見つけて、それをStorageProxiedPutUploadHandlerに変更してください。

この最適化はすべてのシステムで機能するとは限らないため、変更を行った後は、Webポータルのドラッグアンドドロップによるアップロードが正常に機能するかどうかをテストすることをお勧めします。もしIISで機能しない場合は、変更を元に戻すか、またはGladinetサポートに相談してください。

<add name="storageuploadex" path="proxiedupload.up" verb="PUT"
  type="GladinetStorage.SyncedStorageProxiedPutUploadHandler"
  resourceType="Unspecified" preCondition="integratedMode" />

ゾーンサポート

もし米国と英国にそれぞれ独立したCentreStackクラスターが二つある場合、例えば、一つのクラスターが米国に、もう一つのクラスターが英国にある場合、ゾーンサポートを使用して二つのクラスターを接続することができます。ゾーンを使用する利点は、エンドユーザーのログインリクエストが自動的にユーザーが属するゾーンにリダイレクトされることです。

スケーラビリティチューニング

CentreStackはASP.NETとWCFの上に構築されています。デフォルトでは、ASP.NETとWCFの両方には、調整して削除できるスロットル制御パラメータがあります。パフォーマンスチューニングについては、このMSDN記事を参照してください。

http://msdn.microsoft.com/ja-jp/library/ff647813.aspx

_images/image053.jpg

(画像出典: http://msdn.microsoft.com/ja-jp/library/ff647813.aspx)

_images/image054.jpg

(画像出典: http://msdn.microsoft.com/ja-jp/library/ff647813.aspx)

チューニング #1 – namespace/web.config

最大同時コール数、同時セッション数、同時インスタンス数に関する3つのパラメータがあります。

<serviceThrottling
    maxConcurrentCalls="100"
    maxConcurrentSessions="100"
    maxConcurrentInstances="1000" />

これは<CENTRESTACKInstallDir>namespaceweb.configファイルで設定されます

既にserviceBehaviorsブロックやbehaviorブロックが存在するかもしれません。serviceThrottlingブロックを単純に追加することができます。

<serviceBehaviors>
    <behavior name="WcfWebService.Service1Behavior">
        <serviceThrottling
            maxConcurrentCalls="100"
            maxConcurrentSessions="100"
            maxConcurrentInstances="1000" />
    </behavior>
</serviceBehaviors>

チューニング #2 – aspnet.config

aspnet.configはc:windowsMicrosoft.NETFramework64v4.0.30319の下にあります

system.webは<configuration>の要素なので、<configuration>ブロック内に追加することができます。

<system.web>
    <applicationPool
        maxConcurrentRequestsPerCPU="5000"
        requestQueueLimit="20000"/>
</system.web>

チューニング #3 – machine.config

Machine.configは%windir%Microsoft.NETFramework64[version]configmachine.configにあります

(%windir% は通常 c:windows です。[version] は .NET Framework 4 の場合は 4.0.30319 です)

プロセスモデル

processModelは<system.web>の下にあり、<system.web>は<configuration>の下にあります。おそらくprocessModelブロックはすでに存在していて、autoConfigがtrueに設定されています。これをfalseに変更し、以下に示す属性を設定することができます。

<processModel
    autoConfig="false"
    maxWorkerThreads="500"
    maxIoThreads="500"
    minWorkerThreads="2"/>

接続管理

<system.net>は<configuration>の下にあるブロックです。通常、<system.net>がまだ存在しない場合、そのブロックは設定ファイルの最後に追加することができ、<configuration>の終了タグの直前になります。

<system.net>
    <connectionManagement>
        <add address="*" maxconnection="20000"/>
    </connectionManagement>
</system.net>

チューニング #4 – appConcurrentRequestLimit

appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000

詳しくはこちら

詳細については、Gladinet サポート(support@gladinet.com)までお問い合わせください。