Sun Java System Web Server 7.0 パフォーマンスのチューニング、サイジング、およびスケーリング

構成とチューニング

次のチューニング設定は、この調査でのすべてのテストに共通しています。また、個別の調査にも、構成とチューニングの追加情報が含まれている可能性があります。

/etc/system のチューニング:

set rlim_fd_max=500000
set rlim_fd_cur=500000


set sq_max_size=0
set consistent_coloring=2
set autoup=60
set ip:ip_squeue_bind=0
set ip:ip_soft_rings_cnt=0
set ip:ip_squeue_fanout=1
set ip:ip_squeue_enter=3
set ip:ip_squeue_worker_wait=0

set segmap_percent=6
set bufhwm=32768
set maxphys=1048576
set maxpgio=128
set ufs:smallfile=6000000

*For ipge driver
set ipge:ipge_tx_ring_size=2048
set ipge:ipge_tx_syncq=1
set ipge:ipge_srv_fifo_depth=16000
set ipge:ipge_reclaim_pending=32
set ipge:ipge_bcopy_thresh=512
set ipge:ipge_dvma_thresh=1
set pcie:pcie_aer_ce_mask=0x1

*For e1000g driver
set pcie:pcie_aer_ce_mask = 0x1

TCP/IP のチューニング:

ndd -set /dev/tcp tcp_conn_req_max_q 102400
ndd -set /dev/tcp tcp_conn_req_max_q0 102400
ndd -set /dev/tcp tcp_max_buf 4194304
ndd -set /dev/tcp tcp_cwnd_max 2097152
ndd -set /dev/tcp tcp_recv_hiwat 400000
ndd -set /dev/tcp tcp_xmit_hiwat 400000

ネットワーク構成

テストでは複数のネットワークインタフェースを使用したため、すべてのネットワークインタフェースが同じコアに行かないようにすることが重要でした。次のスクリプトを使用して、ネットワーク割り込みをコアの 1 つのストランドでは有効に、残りの 3 つのストランドでは無効にしました。


allpsr=`/usr/sbin/psrinfo | grep -v off-line | awk '{ print $1 }'`
  set $allpsr
  numpsr=$#
  while [ $numpsr -gt 0 ];
  do
      shift
      numpsr=`expr $numpsr - 1`
      tmp=1
      while [ $tmp -ne 4 ];
      do
          /usr/sbin/psradm -i $1
          shift
          numpsr=`expr $numpsr - 1`
          tmp=`expr $tmp + 1`
      done
  done

次の例は、スクリプトを実行する前の psrinfo 出力を示しています。


# psrinfo | more
0       on-line   since 12/06/2006 14:28:34
1       on-line   since 12/06/2006 14:28:35
2       on-line   since 12/06/2006 14:28:35
3       on-line   since 12/06/2006 14:28:35
4       on-line   since 12/06/2006 14:28:35
5       on-line   since 12/06/2006 14:28:35
.................

次の例は、スクリプトを実行したあとの psrinfo 出力を示しています。


0       on-line   since 12/06/2006 14:28:34
1       no-intr   since 12/07/2006 09:17:04
2       no-intr   since 12/07/2006 09:17:04
3       no-intr   since 12/07/2006 09:17:04
4       on-line   since 12/06/2006 14:28:35
5       no-intr   since 12/07/2006 09:17:04
          .................

Web Server のチューニング

次の表は、Web Server のために使用したチューニング設定を示しています。

表 6–1 Web Server のチューニング設定

構成要素 

デフォルト 

チューニング値 

アクセスログ 

enabled=true

enabled=false

スレッドプール 

min-threads=16

max-threads=128

stack-size=131072

queue-size=1024

min-threads=128

max-threads=200

stack-size=262144

queue-size=15000

HTTP リスナー 

ポート 80 上のセキュリティー保護されていないリスナー

listen-queue-size=128

ポート 80 上のセキュリティー保護されていないリスナー

ポート 443 上のセキュリティー保護されたリスナー

listen-queue-size=15000

キープアライブ 

enabled=true

threads=1

max-connections=200 timeout= 30 sec

enabled=true

threads=2

max-connections=15000 timeout =180 sec

default-web.xml

JSP コンパイルが有効 

JSP コンパイルが無効 

次の表は、SSL テストのために使用した SSL セッションキャッシュのチューニング設定を示しています。

表 6–2 SSL セッションキャッシュのチューニング設定

構成要素 

デフォルト 

SSL セッションキャッシュ 

enabled=true

max-entries=10000

max-ssl2-session-age=100

max-ssl3-tls-session-age=86400