サイト規模による設定例

概要

サイトによってメモリの使用量に特性があります。
設定を変更し効果的なメモリの活用を行わせると、スループットを向上させることができます。
設定例をいくつかご紹介します。

※スループットはコンテンツやサーバによっても変化するため、下記のPV数を保障するものではありません。参考値として設定の目安にしてください。

設定例1 - アクセスの少ないテキスト中心の広報サイト

想定

平均アクセス :
    3000 PV/日

コンテンツ :
    静的コンテンツ中心
    HTML - CHTML 2KB
    画像 - JPEG 1枚 6KB
    キャッシュヒット率 90%

サーバ :
    Windows 2003 Serverで運用

方針

アクセスが少なく静的コンテンツ中心ですのでデフォルト設定をほぼそのまま使用します。
必要な項目のみ運用環境に合わせて指定します。

デフォルト設定からの変更箇所

  • xproxy.properties
      xproxyBaseDir=d:/xservlet-2.10.0
      xproxyHost=192.168.0.4
      serverID=k1
      requestExchanger.serverIDPrefix=_-
      requestExchanger.serverIDSuffix=-_
  • contentsRule.xml
      <Host>192.168.0.10</Host>
      <Port>80</Port>
      <Attribute name="imageConvertType">ImageConvert</Attribute>

設定例2 - アクセスの多いキャンペーンサイト

想定

平均アクセス :
    30万 PV/日

コンテンツ :
    動的コンテンツを一部に含む
    HTML - XHTML 4.5KB
    画像 - GIF+JPEG 3枚 4KB
    キャッシュヒット率 70%

サーバ :
    Red Hat Enterprise Linux 5で運用

方針

キャッシュを効率的に活用するためにキャッシュ保持数を増やします。
多数のアクセスとキャッシュ増加に備えるためにjavaVMのヒープ割り当ても増やす必要があります。

デフォルト設定からの変更箇所

  • start.sh
      JVM_OPTION="-Dcom.sun.media.jai.disableMediaLib=true -Xms2G -Xmx2G -server"
  • xproxy.properties
      xproxyBaseDir=/opt/xservlet-2.10.0
      xproxyHost=192.168.0.3
      serverID=c1
      requestExchanger.serverIDPrefix=_-
      requestExchanger.serverIDSuffix=-_
      maxClientLimit=1000
      cacheTerm=6000000
      cacheMaxCount=2000
      cacheMaxCountImage=16000
  • contentsRule.xml
      <Host>192.168.0.10</Host>
      <Port>80</Port>
      <Attribute name="imageConvertType">ImageConvert</Attribute>

設定例3 - アクセスの多いECサイト

想定

平均アクセス :
    500万 PV/日

コンテンツ :
    動的コンテンツ中心
    HTML - XHTML 6KB
    画像 - GIF+JPEG 7枚 10KB
    キャッシュヒット率 20%

サーバ :
    Red Hat Enterprise Linux 5 (64bit)で運用

方針

キャッシュヒット率が低くキャッシュ効果が低いため、メモリ節約のためにキャッシュ保持数を最低限に抑えます。
多数のアクセスに備えるためにjavaVMのヒープ割り当ても増やす必要があります。

デフォルト設定からの変更箇所

  • start.sh
      JVM_OPTION="-Dcom.sun.media.jai.disableMediaLib=true -Xms4G -Xmx4G -server"
      JVM_OPTION="$JVM_OPTION -XX:NewSize=1536M -XX:MaxNewSize=1536M"
      JVM_OPTION="$JVM_OPTION -XX:+UseParNewGC"
      JVM_OPTION="$JVM_OPTION -XX:+UseConcMarkSweepGC"
      JVM_OPTION="$JVM_OPTION -XX:+CMSParallelRemarkEnabled"
      JVM_OPTION="$JVM_OPTION -XX:+UseTLAB -XX:+DisableExplicitGC"
      JVM_OPTION="$JVM_OPTION -XX:-ReduceInitialCardMarks"

    ※ヒープ容量が数GB以上の場合はFull GC発生時の停止時間が長くなってしまうため、コンカレントGCを有効にします。
      ヒープ内のNew領域とOld領域の適切な割合は環境によって異なるため、事前に実際の運用を想定したテストを行って調整するとよいでしょう。

  • xproxy.properties
      xproxyBaseDir=/opt/xservlet-2.10.0
      xproxyHost=192.168.0.2
      serverID=e1
      requestExchanger.serverIDPrefix=_-
      requestExchanger.serverIDSuffix=-_
      maxClientLimit=2000
      cacheTerm=1
      cacheMaxCount=1
      cacheMaxCountImage=1
      requestProcessor.maxKeepAliveRequest=8
  • contentsRule.xml
      <Host>192.168.0.10</Host>
      <Port>80</Port>
      <Attribute name="imageConvertType">ImageConvert</Attribute>
TOP