Table of Contents
VirtualBox上で動く仮想マシンにデフォルトではNATネットワークアダプタが割り当てられてい
るため、Host OSとの通信ができないです。これを回避するために ホストオンリーネットワー
ク
アダプターを使えば回避できる。最近のバージョン追加手順が変わったため、メモしてお
きます。
VirtualBox上で動く仮想マシンにデフォルトではNATネットワークアダプタが割り当てられてい
るため、Host OSとの通信ができないです。これを回避するために ホストオンリーネットワー
ク
アダプターを使えば回避できる。最近のバージョン追加手順が変わったため、メモしてお
きます。
半年前、約1年ちょっと使った WD Blue(WD10EZEX) ディスクが壊れた (I/Oスピードが激遅い現 象が起きた)ため、RMA保証手続きで交換しました。交換で約1ヶ月かかる、かつサーバがRAID0構 成のため、代用品を購入し、復旧を実施した。RAM交換で届いたディスクがずっと置いたまま、 今日もう一台のNASサーバに増設を実施します。
CMSとは Concurrent Mark & Sweep
、JVM OLD領域GC処理アルゴリズムの一種です。
CMSはアプリケーションを停止する時間を削減することが出来ます。処理の流れは下図に示す。
※Concurrentは同時という意味です。
① ② ③ ④ ---> | ==> | ============> | ==> | ==========> -----> ---> | | ------------> | ==> | -----------------> ---> | | ------------> | ==> | -----------------> ---> | | ------------> | ==> | -----------------> ---> | | ------------> | ==> | -----------------> ---> | | ------------> | ==> | -----------------> STW STW 凡例 +--------------------+ | ==> GCスレッド | | --> アプリスレッド | +--------------------+
図上示している通り、①と③の処理だけアプリケーションが停止する。
① | Initial Mark | STW | Rootを起点に利用されてるオブジェクトをマークする |
②-1 | Concurrent Mark | ①でマークされたオブジェクトを起点に使用中のオブジェクトをマークする | |
②-2 | Concurrent precleaning | ②-1処理中アプリによる生じた変化部分をマークする、③の処理時間を短縮するため | |
③ | Parallel Remark | STW | ②処理中アプリによる生じた変化部分をマークする |
④-1 | Concurrent Sweeping | マーク処理によって判明した使用済みオブジェクトを削除する | |
④-2 | Concurrent Reset | CMS処理自体のリセット |
次のような構成でApacheとAPサーバ間のHTTP KeepAliveが有効にすると
のような不都合があります。
+----------+ +------------+ +-----------+ +-------------+ | Client +---------> Apache +--------> LB +-----> AP Server | +----------+ +------------+ +-----------+ +-------------+
とい言うわけでApacheとAPサーバ間KeepAliveをOFFにする方法を調査した。
Zabbix2.4、CentOS7用のrpmが見つからなかったので手動ビルドすることにした。
JBossAS の起動オプション org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT
につい
て誤解があったので、メモしておきます。
まず、ドキュメントの説明。デフォルトタイムアウト値が60秒ですね。
org.apache.coyote.http11.DEFAULT_CONNECTION_TIMEOUT Default socket timeout. The default value is 60000 ms.
説明だけでよく分からない、最初はサーバサイトワーカスレッドの処理時間タイムアウト値 と理解しました。
テストアプリでタイムアウト時の動作を確認する。
+----------+ +----------------+ | SoapUI +------------+ テストアプリ | +----------+ | | +----------------+ | JBossAS 7.x | +----------------+
SoapUIのリードタイムアウトを120秒に変更する、テストアプリに Thread.sleep(70 * 1000)
コードを仕込んで処理時間を長くする。これでタイムアウトになると考えたのですが、結果的に
タイムアウトせず、正常なレスポンスでした。これで、 DEFAULT_CONNECTION_TIMEOUT
はワー
カスレッドのタイムアウト値ではないことが分かりました。
説明文にソケットのタイムアウト値であることが書かれたので telnet
でソケット通信の各
stepの処理時間をあえて長くして動作状況を観測してみました。
$ telnet localhost 8080 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. POST http://localhost:8080/testapp/HelloWorld HTTP/1.1 Connection: close Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=UTF-8 SOAPAction: "sayHello" Content-Length: 318 Host: localhost:8080 ★ここで60秒を待つ Connection closed by foreign host.
step3のところで60秒後、サーバからfinパケットが送出されてコネクションが切れた。
DEFAULT_CONNECTION_TIMEOUT
パラメータの意味が少し掴みました。
少し掘り下げて見たいので、コードリーディングして実装の概要を以下に紹介します。
ある飲み会で JT
のプログラムマーさんと出会って、最初彼からの自己紹介で「プログラムマー
です」と聞いた時に、Java屋、Ruby屋普通のWebエンジニアだと思った。話を詳しく聞くとなん
と、「SAS」という言語しか扱っていないようです。 SAS
という言語は初耳なので、軽く調べること
にした。
コマンドインタフェースから JBossAS 7.x
アプリケーションサーバの稼働情報収取得方法に
ついて検証してみた。主に以下の方法が存在する。
jboss-cli.sh
コマンドでサーバの設定情報やRuntime情報を取得する。
1と2の情報源が一緒です。取れる情報が次のようなイメージ、用途に応じて選ぶことになると思 います。
+-------------+ | jboss-cli | | +---------+-----+ | | | | | | | JMX | | | | | | +---------+-----+ +-------------+
前の記事で pam_krb5
モジュールでKerbrose認証を実現しました。ここで passwd
コマン
ドラインでKDCに登録されたプリンシバル鍵のパスワードを変更する方法を紹介します。
夏休み中にKerbrose認証環境の構築復習を行いました。ここでメモしておきます。