apache(prefork),mod_proxy_balancerの設定値について
- MaxClientディレクティブ
- リクエストに応答するために起動される 子プロセスの最大数となります。 デフォルト値は 256。
-
- preforkの場合はbackendへの接続本数はmaxclientの値が使われる。
tomcat7 チューニング
- AJPの設定
- AJPの接続数などの設定
- maxThreads
- リクエスト処理スレッド最大数。デフォルトは200
- minSpareThreads
- 最小プールサイズ。デフォルトは10
- connectionTimeout
- アクセスを受信したときのタイムアウトする時間をミリ秒で設定。デフォルトは60000(60sec)。下記の問題があったからであろうか、tomcat7ではajpのコネクションタイムアウトにデフォルト値が設定されているようだ。
- http://d.hatena.ne.jp/TrinityT/20080909/1220932636
- acceptCount
- 処理できるthreadがすべて利用中である場合の、キューの大きさ。このキューの大きさをも超えるとリクエストがrefuseされる。デフォルトは100
- maxThreads
参考
mod_proxy
- proxyされた先でIP制限
SetEnvIf X-Forwarded-For "192\.168\.51\.1" checkip Order deny,allow Deny from all Allow from env=checkip
-
- 複数IPを指定する場合は以下のようにしてできました。
SetEnvIf X-Forwarded-For "192\.168\.51\.1" checkip1 SetEnvIf X-Forwarded-For "192\.168\.51\.15" checkip2 Order deny,allow Deny from all Allow from env=checkip1 Allow from env=checkip2
-
- マスク(/24)で指定した場合は以下のような正規表現で書くことができました。
SetEnvIf X-Forwarded-For "192\.168\.51\.[0-9]{1,3}" checkip Order deny,allow Deny from all Allow from env=checkip
-
- SetEnvIfはAllowOverrideでFileInfoが指定されていることが前提となります。
- 参考
JMX
set JAVA_OPTS=-Dcom.sun.management.jmxremote.authenticate=false set JAVA_OPTS="%JAVA_OPTS%" -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8999
-
-
- ここでは認証をしないようにしていますが、ユーザID・PWでの認証が行えます。
- $JAVA_HOME/bin/jconsoleを起動すれば終了です。
-
- プログラムからリソースにアクセスしてみます。
public class JmxRmiSample { public static void main(String[] args) throws Exception { JMXServiceURL u = new JMXServiceURL( "service:jmx:rmi:///jndi/rmi://localhost:8999/jmxrmi"); JMXConnector c = JMXConnectorFactory.connect(u); MBeanServerConnection pfServer = c.getMBeanServerConnection(); OperatingSystemMXBean osbean = ManagementFactory .newPlatformMXBeanProxy(pfServer, ManagementFactory.OPERATING_SYSTEM_MXBEAN_NAME, OperatingSystemMXBean.class); System.out.println("Arch = " + osbean.getArch()); } }
WindowsServer2008 メモ
- パフォーマンスモニタ
- パフォーマンスモニタはtypeperfで取得した値をグラフ化してくれるツールのようだ。【管理ツール】-【パフォーマンス】をクリックすることで画面が表示される。
- タスクの一覧を表示する
- tasklist
- typeperfコマンドの使い方
- パフォーマンスモニタで取得している値を更に細かく取得したい場合はtypeperfコマンドを利用する。情報を取得できる軸のことをカウンタという。取得するには、typerf -q XXXXで取得する。
- 誤解を恐れずに言えば、snmpの口が公開されているようなイメージ。
C:\>typeperf -q "Network Interface" \Network Interface(*)\Bytes Total/sec \Network Interface(*)\Packets/sec \Network Interface(*)\Packets Received/sec \Network Interface(*)\Packets Sent/sec \Network Interface(*)\Current Bandwidth \Network Interface(*)\Bytes Received/sec 〜〜〜以下略〜〜〜
-
- CPU負荷について確認したいなら、下記のように調べる。
C:\>typeperf -q Processor \Processor(*)\% Processor Time 〜〜〜以下略〜〜〜 C:\>typeperf "\Processor(*)\% Processor Time" "(PDH-CSV 4.0)","\\S0902C00058-T1\Processor(0)\% Processor Time","\\S0902C00058- T1\Processor(1)\% Processor Time","\\S0902C00058-T1\Processor(_Total)\% Processo r Time" "01/04/2010 09:26:56.884","0.251526","1.810096","1.030811" "01/04/2010 09:26:57.886","0.251526","1.810096","1.030811" "01/04/2010 09:26:58.904","1.786118","3.320710","2.553414" "01/04/2010 09:26:59.907","0.251526","1.810096","1.030811"
-
- typeperfコマンドで取得するデータはデフォルトで1秒おきになっている。これを変更したい場合は -si 5とすることで5秒おきに取得することが可能となる。