score 0.8237871003176864 id_ 3bdb1b78-957c-42cf-beb1-91d1c0f9bc68 file_name E79BA3E8A696E383BBE38391E382B1E38383E38388E8A7A3E69E90E7B7A8.txt text --また、トラフィックは、統計学的に分布の幅が大きく最大値を予測し難い。このため、帯域幅には余裕を大きく持たせるのが慣例となっている。 *マクロな問題の検出 [#k6ab8a03] ネットワークの以下の項目を監視することで、マクロな問題の検出ができる。~ マクロな問題の検出には、一般的に定常的な監視が必要である。 **マクロな問題の検出のための監視ポイント [#k3aaf053] ***転送データ量 [#pcc32412] 現状の実際の転送データ量を把握することで、帯域幅の不足を確認できる。~ 必要とされる帯域幅の計算方法については、「[[ネットワークに必要な帯域幅の確認>#z0cfff2d]]」を参照。 ***パケット数 [#r9db80de] パケット数の値を参考にして、スイッチング能力に不足がないかを確認できる。 当該ネットワークの理論上の最高通信速度で、最も負荷がかかる >「現在使用しているネットワークの帯域幅で、単位時間あたりに流れ得る最小サイズのフレーム数が最大となる状態」 を、ネットワークのワイヤ スピードと呼ぶ。 -イーサネットでは、 --1つのフレームの最小サイズはフレーム間隔も含め672ビットになるため、 8バイト(プリアンプル、SFD) + 64バイト(イーサネットフレーム) + 12バイト(IFG) = 合計84バイト = 672ビット --イーサネットのワイヤ スピードは以下の式で算出できる。 帯域幅(bps) ÷ 672(bit) = ワイヤ スピード(pps) -従って、イーサネットの規格毎のワイヤ スピードは次のようになる。 --各イーサネットの規格毎のワイヤ スピード |#|規格|帯域幅|ワイヤ スピード|h |1|Ethernet(10BASE-2、10BASE-5、10BASE-T)|10Mbps|14,880 pps| |2|Fast Ethernet(100BASE-TX)|100Mbps|148,810 pps| |3|Gigabit Ethernet(1000BASE-T)|1Gbps|1,488,100 pps| ---補足- ---多くの場合、ノイズ、オーバヘッド、スイッチング能力などにより転送効率が落ちるため、ワイヤ スピードどおりの速度が出ることはないので注意する。 ---一般的には、実際のデータ転送処理に使用できる帯域幅(全二重で帯域の70%程度)で計算する 。 ------------------------------------------------------ score 0.8195193179079111 id_ a83e38ed-1989-4a77-84b9-a5034691fdd7 file_name E680A7E883BDE5958FE9A18CE381AEE3839DE382A4E383B3E38388.txt text php?%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A8%AD%E8%A8%88%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88]]を参照)。 ***インデックス スキャン [#j9d1b973] -DBの検索処理の性能劣化は型不一致のインデックス スキャン発生などが劣化原因として多い。 -インデックス スキャンの発生は、DBのトレースを取得するなどして確認する。 **UIの性能劣化 [#de874b26] ***Web [#q041d7f6] -Sessionの消去し忘れによるメモリ リーク -大容量画面の --ネットワーク ---トラフィック増加 ---ラウンドトリップ増加(AJAX系) --DOM要素による性能劣化 ---UI要素のインスタンス化 ---UI要素の操作 -ASP.NETの例 --JavaScript多用、JavaScriptを多用するサードパーティ製コントロールによる~ 初回ロード処理の遅延(上記のUI要素の操作との関連がある) --[[ViewState>ASP.NET ViewState]]の状態保持データ(実体はHidden)によるネットワーク トラフィック増加 ***RichClient [#c7b36b6c] -巨大画面のコントロールのロード処理遅延(UIコントロールのキャッシュ) -[[RDP]]などを使用した場合の画面再描画による画面データ転送遅延 -メモリ リーク --循環参照やフォームやコントロールのリーク(画面のCloseイベントなどを検知してメンバ変数などに保持している画面参照を破棄するなど) --オブジェクトを不必要に溜め込み過ぎないようにする(UIコントロールのキャッシュ)。 -画面描画~ チラつきが気になる場合は、ダブル・バッファリングやSuspendLayoutの対策を施す。 --@IT > Insider.NET > .NET TIPS ---ダブル・バッファリングにより描画を行うには?~ http://www.atmarkit.co.jp/fdotnet/dotnettips/197doublebuf/doublebuf.html~ http://www.atmarkit.co.jp/fdotnet/dotnettips/449doublebufed/doublebufed.htm ---ウィンドウのリサイズ時に再描画を行うには?~ http://www.atmarkit.co.jp/fdotnet/dotnettips/191resizedraw/resizedraw.html ---背景の描画を禁止して再描画時のちらつきをなくすには?~ http://www.atmarkit.co.jp/fdotnet/dotnettips/194nopaintbg/nopaintbg.html --DOBON.NET >コントロールを実行時に作成する~ http://dobon.net/vb/dotnet/control/addcontrol. ------------------------------------------------------ score 0.8190950340675892 id_ ba945df0-704e-4ca6-94c4-f86fd0b6c972 file_name E784A1E7B79A4C414E.txt text 2GHz帯を使用した通信規格 -最大速度は54Mbpsと通信速度が速い。 -電子レンジとは違う周波数帯域を利用し、影響を受けない。 -しかし、 --障害物による遮蔽に弱い欠点があり、 --法令で「屋外利用不可」と定められている。 -通信の変調方式は[[11g>#jdae32f8]]と同様「[[OFDM>#y0709420]]」が用いられている。 ***11b [#kf2cc240] -周波数帯域2.4GHz帯を使用した通信規格 -最大速度は11Mbpsと比較的低速。 -殆どの無線LAN機器が対応しており安価。 -屋外での利用が可能で、伝送距離が比較的長い。 -電子レンジの周波数帯域と重なり干渉による速度低下の恐れがある。 -通信の変調方式は「[[DSSS>#y0709420]]」を利用 ***11g [#jdae32f8] -周波数帯域2.4GHz帯を使用した通信規格 -[[11b>#kf2cc240]]と互換性があり特徴も似ている。 -最大速度は54Mbpsと[[11b>#kf2cc240]]と比べ5倍程度も速い。 -通信の変調方式は[[11a>#q63dafcb]]と同様「[[OFDM>#y0709420]]」が用いられている。 ***11n [#a51f3731] -周波数帯域2.4GHz帯と5.2GHz帯の両方を使用した通信規格 -速度は300Mbps~450Mbpsまで高速化 -通信距離の長く、障害物があっても高い安定性を持つ -5.2Ghz帯を使用すれば、電子レンジによる干渉もない。 -特徴 --高い互換性の維持 --チャネルボンディングという、チーミング、~ リンクアグリゲーション的な高速化技術が規定されている。 ---2.4Ghz帯は同時使用チャネル数が1~13(非推奨) ---5.2GHz帯は同時使用チャネル数が9つ ---. ***11ac [#kb01b6ef] -周波数帯域5GHz帯を使用した通信規格 -433Mbps~約7Gbpsの高速データ通信 -アンテナを複数使用した[[MIMO>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E9%AB%98%E5%BA%A6%E5%8D%88%E5%89%8D%20-%20%E6%8A%80%E8%A1%93%E8%A6%81%E7%B4%A0%20-%20%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF#k68ebb4e]]を駆使する。 -. ***11i [#daac418f] -[[WEP>#y67cea47]]の脆弱性に対応するための通信規格 -[[IEEE 802>https://dotnetdevelopmentinfrastructure.osscons.jp/index. ------------------------------------------------------ score 0.8181473941749066 id_ e917ecf0-8102-43f3-98d4-cd0598623d1a file_name 53514C2053657276657220E381AEE383ADE382B0.txt text | |2-2||SQL Server:&br;Buffer Manager:&br;Buffer cache hit ratio|バッファ キャッシュのヒット率|90%以下|メモリを増設する。| |~|~|~|~|~|100%に近いほど適正。| |2-3||SQL Server:&br;Buffer Manager:&br;Page Life expectancy|バッファ プール内で、ページが参照されなくても保持される秒数|300秒以下|メモリを増設する。| |~|~|~|~|~|-| |3|>|>|>|>|ディスク| |3-1||SQL Server:&br;Buffer Manager:&br;Page Reads/Sec|SQL Serverのバッファ マネージャによる、ディスク上の読み取り回数/秒|ディスクの仕様で規定されている値の最大値に近い。|・メモリを増設する。&br;・ハードウェアのI/O容量を増やす。&br;・非正規化、インデックスの使用など、I/O操作が減るようにアプリケーションまたはDBを調整する。| |~|~|~|~|~|一般的に、Ultra Wide SCSIディスクは毎秒50~70回のI/O操作を処理できる。| |3-2||SQL Server:&br;Buffer Manager:&br;Page Writes/Sec|SQL Serverのバッファ マネージャによる、ディスク上の書き込み回数/秒|~|ハードウェアのI/O容量を増やす。| |~|~|~|~|~|一般的に、Ultra Wide SCSIディスクは毎秒50~70回のI/O操作を処理できる。| -SQL Serverの一般的なカウンタとしきい値:その2 |#|リソース|<オブジェクト>:<カウンタ>|カウンタの説明|「しきい値」を超える条件|備考|h |1|>|>|>|>|負荷(トランザクション)| |1-1||SQL Server:&br;Databases:&br;Transactions/sec|DBで開始されたトランザクションの数/秒|なし|この数値はシステム規模の参考になる。また、トランザクション負荷の増減をチェックするのにも役立つ。| |1-2||SQL Server:&br;Databases:&br;Active Transactions|現在のDBで、アクティブなトランザクションの数|~|「SQL Server:Databases:Transactions/sec」が、「SQL Server:Databases(_Total):Active Transactions」を超える場合、サーバの負荷が超過状態であることを示す。| |1-3||SQL Server:&br;General Statistics:&br;User Connections|SQL Serverに現在接続しているユーザ数|~|この値の大幅な変動には注意すべき。| |2|>|>|>|>|[[インデックス>SQL Server のインデックス]]| |2-1||SQL Server:&br;Access Methods:&br;Full Scans/Sec|フル スキャンの数/秒|なし|この値が大きくなる場合、アプリケーションがインデックスを効率的に使用していないことが考えられる。 ------------------------------------------------------ score 0.8171757504550327 id_ fbe2a63d-1c9a-4e74-863c-4cfce850fc08 file_name E79BA3E8A696E383BBE38391E382B1E38383E38388E8A7A3E69E90E7B7A8.txt text 880 pps| |2|Fast Ethernet(100BASE-TX)|100Mbps|148,810 pps| |3|Gigabit Ethernet(1000BASE-T)|1Gbps|1,488,100 pps| ---補足- ---多くの場合、ノイズ、オーバヘッド、スイッチング能力などにより転送効率が落ちるため、ワイヤ スピードどおりの速度が出ることはないので注意する。 ---一般的には、実際のデータ転送処理に使用できる帯域幅(全二重で帯域の70%程度)で計算する 。 ---スイッチング機能がない半二重のハブでは、スイッチング能力、ワイヤ スピードを考慮する必要はない。 ***ブロードキャスト パケットの監視 [#fbfbe7f6] -ブロードキャスト パケットが多すぎる場合は、~ ネットワークを分割するか、VLANを導入するなどして~ ブロードキャスト ドメインを分割(サブネット化)する必要がある。 -プロトコルによっては、名前解決などのためにブロードキャスト パケットを多用することがある。~ このため、プロトコルの特徴を理解して、ブロードキャスト ドメイン上のノード数を検討する必要がある。 -プロトコル別のブロードキャスト ドメイン上の~ ノード数の上限の目安としては、次の値を参考にできる。 |#|プロトコル|ノード数|h |1|TCP/IP|500| |2|IPX|300| |3|AppleTalk|200| |4|マルチプロトコル環境|200| -この上限値に近づいた場合は、下記を確認する。 --パケット数を監視し、スイッチング能力、ワイヤ スピードに不足がないか? --ブロードキャスト パケットを監視し、ネットワーク上のPCのCPUに影響がないか? -問題があるようであれば、下記の何れかの方法で~ ブロードキャスト ドメインを分割(サブネット化)する。 --ネットワークを分割する。 --VLANを導入する。 ***サーバのNICの監視 [#r0090f43] -1台のサーバにトラフィックが集中してしまうと、 --サーバのNIC --CPU(その他のマシン リソース) --ルータのNIC・CPU >に処理能力を超える高い負荷がかかってしまう可能性がある。 -この場合、 --ルータ、ネットワークの分割 --サーバ、NICの分割 --負荷分散装置の導入 >などにより、 -複数の --ルータ --ネットワーク --NIC --サーバ >などへ負荷を分散できる。 ------------------------------------------------------ score 0.8125598945505772 id_ 3a5ab462-a4fa-4066-9dc1-50fa48838d4e file_name E680A7E883BDE5958FE9A18CE381AEE3839DE382A4E383B3E38388.txt text -最低減の帯域幅、パケットロス率などに注意する。 -PacketShaper等のアプライアンスにより、品質改善することも可能。 *ミドルウェア全般 [#f695e27e] **キャッシュ サイズ [#r8555188] -キャッシュ サイズ(メモリ割り当てサイズ) -他サーバと同居する場合はメモリ割り当てサイズを指定する。 **CPUアフィニティ [#r1155ad6] -他サーバと同居する場合はCPUアフィニティ マスクを指定する。 ***NUMA [#xe80f2ab] NUMAハードウェアで実行する場合、NUMA対応されているか? -Non-Uniform Memory Access:~ http://msdn.microsoft.com/ja-jp/library/ms178144.aspx *DB物理設計([[SQL Server]]) [#pb6b9728] **[[インデックス設計>SQL Server のインデックス]] [#t6efd003] [[インデックス特性を理解し使用すること。>SQL Server のインデックス]] **データ圧縮 [#p2103938] データを圧縮することにより、 -CPUリソースを犠牲にIOリソースを削減する。 -IOボトルネックを解消、一般的に性能は良くなる。 **[[ファイル分割>SQL Server のファイル・グループ]] [#o0b0e5e0] **[[パーティション分割>SQL Server パーティション分割]] [#q03eb1cd] **[[DBサーバの水平分散>#lac9d4fe]] [#pa081948] **非正規化の検討 [#s0bda421] *Webサーバ構成 [#af01618f] **SSL(HTTPS)・HTTP圧縮( → 必要であればアプライアンス化) [#o71e50ae] **静的コンテンツのキャッシュ( → 必要であればキャッシュ サーバの導入) [#i0326ba8] *アプリケーションの実装 [#hb75f5d1] **通信処理の周辺では性能劣化が多いので事前によく検証すると良い。 [#lf8fefd9] ***そもそも遅いテクノロジに注意 [#h1389411] -COMの初期化 -プロセス間、マシン間通信(マーシャリング)など、ブラックボックス のプロトコルは特に注意が必要(LANアナライザなどでシーケンスをチェックすると良い)。 ***クライアント - サーバ間のラウンド トリップ [#xc527a91] 冗長なラウンド トリップは、ファサード パターンにより集約する。 -3層C/S方式では通信ラウンドトリップや、データの整合性を考慮して、ファサード パターンにより1回のイベント処理に対して、1回のコネクション & トランザクション( = 1回のB層呼び出し)とする。 ------------------------------------------------------ score 0.8116083127531625 id_ 6f1f592a-05f8-47ea-ab40-3f4273eeefaa file_name 564236E2869256422E4E4554E7A7BBE8A18C20464151.txt text >一般的な工程別・工数比率からテスト工数のみを積んだ見積工数が新規開発の0.4 - 0.5倍 という慣例に従うのは、通常、品質保証(稼働までの責任を負う)のためです。~ #標準契約書の(検査)・(瑕疵担保責任)・(責任の範囲)の項を参照。~ ポーティング作業(作業支援)のサービスと割り切り、検収頂けるなら~ 上記の工数を圧縮し、顧客予算内に収まるサービスを提供することは可能です。~ #注意:変換率によりポーティング工数は変わる。検収条件等は別途検討が必要になる。 *Q&A [#n4771d71] **再構築したほうが良い等の変換率の指標はあるのでしょうか? [#a34decb2] ***Q [#wa8df9bf] 一般的にはどのくらいの変換率だと再構築したほうが良い等の指標はあるのでしょうか? ***A [#e8fcd85a] ポーティング工数次第だと思います。ただ、変換率に比例しないケースが多いので、 低めの変換率でも簡単な類似を修正していくことで対応出来るようなケースもある。 実際には、ポーティング工数がどの程度になるかの~ 移行性評価作業をしてもらって見積もって貰うのが良いと思います。 私が知るかぎりの移行完了例で変換率 75%-70% 程度の例があります。 上記、「簡単な類似を修正」部分を単純変換できるケースは~ アップグレードウィザードを書けた後のコードに対して~ 自作ツールで変換して変換率を上げることもあるようです。 65%を下回ると少々難しくなってくるように思います。 **ActiveXは.NETに変換できないのですか? [#gf177e83] ***Q [#l77ca7df] また、ActiveXを多く使用しているため変換率が低くなるという話を聞きました。 ActiveXは.NETに変換できないのですか?~ 相互運用機能を提供するラッパークラスがあれば利用可能で、~ このラッパークラスは自動生成されるという記事を見かけたのですが. -VB 6.0 ユーザーのための VB .NET 移行ガイド - ActiveX コントロール~ http://msdn.microsoft.com/ja-jp/library/dd297724.aspx ***A [#p6d8d787] ActiveXで変換率が落ちるというのは、 >「移行先に同じAPIセットを持つサードパーティ製のUIコンポーネントが存在しない」 と考えられるためです。 ------------------------------------------------------ score 0.8110324978998369 id_ d3dbd24f-70a5-4cac-a481-94ab5b6a1ccc file_name E680A7E883BDE5958FE9A18CE381AEE3839DE382A4E383B3E38388.txt text 「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>設計のポイント]] *目次 [#o0e85b4e] #contents *概要 [#s471de5c] 性能設計のポイントをまとめる。 *サーバ マシン [#h064dd54] **サーバ負荷分散(垂直分散) [#s375c435] 垂直分散 -2層 ---> 3層化 -帳票出力処理 -非同期処理 -DBサーバ **リソース [#j282b08c] ***CPU(コア)数 [#w0ae3130] ***物理メモリ搭載量 [#v845c25c] -アプリケーションの仮想アドレス空間(32bit、64bit、/3Gスイッチなどで変わる) --32bit マシンの場合、/3Gスイッチや、AWE相当の機能を利用するなどを検討する。 --AWE:http://msdn.microsoft.com/ja-jp/library/ms175581.aspx ***ディスク性能 [#la6743e4] ディスク、ディスク コントローラ性能と、[[RAID]]構成など。 ***NIC性能 [#te8a453c] NICの帯域幅、NICチーミングによる帯域幅増、負荷分散。 *ネットワーク機器 [#wc06c89a] **ネットワーク負荷分散(水平分散) [#z5674674] ***Webサーバ [#y5582715] [[NLB]]負荷分散 -ロードバランサ - パーシステンスの種類~ http://www.infraexpert.com/study/loadbalancer5.html ***DBサーバ [#o54b8be7] [[シャーディング(水平的パーティション分割)>Elastic Scale, Elastic Database Pool]] -データベースのシャーディングを自動運用してくれる~ 「Azure SQL Database Elastic Scale」が公開 - Publickey~ http://www.publickey1.jp/blog/14/azure_sql_database_elastic_scale.html **ネットワーク帯域幅 [#l77a7f8b] **ネットワーク品質 [#ka9f9e05] -べスト エフォート型サービスではサービスの品質(QoS)の保証がない。 -最低減の帯域幅、パケットロス率などに注意する。 -PacketShaper等のアプライアンスにより、品質改善することも可能。 *ミドルウェア全般 [#f695e27e] **キャッシュ サイズ [#r8555188] -キャッシュ サイズ(メモリ割り当てサイズ) -他サーバと同居する場合はメモリ割り当てサイズを指定する。 ------------------------------------------------------ score 0.8099260906615622 id_ cce5fd5f-eceb-495a-9e08-dd5667ca95c8 file_name E382B5E383BCE38390E383BCE381AEE79BA3E8A696.txt text 「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>障害発生時の分析]] * 目次 [#l1d6e5f0] #contents *概要 [#w55392f9] 「処理能力」の問題や「障害」の発生を未然に防止したり、迅速に対応したりすることで~ 高い可用性を維持するには、「処理能力」・「信頼性(障害)」に関する情報の監視が必要になる。 一般的に、サーバの監視タスクには、以下の項目がある。 *サーバの監視タスク [#i306dbd9] **処理能力の監視 [#s6d4f02f] ***サーバ マシン [#o5394949] ハードウェアの状態、リソース消費量などの警告を確認して、問題発生の可能性を確認する。 ***サーバ プロセス [#q4120c1a] サーバ プロセス独自のリソース(キュー数、スレッド数、仮想アドレス空間など)の利用状況、アクセス状況を確認する。 **ログ監視 [#vafb5f50] ***信頼性(障害) [#if8850b4] ハードウェア・ソフトウェアの障害、設定ミスによるエラーの発生情報と発生原因などを確認する。 ***イベント [#ve64a13c] 各種イベント(システム イベント、アプリケーション イベント、セキュリティ イベント)を確認する。 ***アクセス [#yf6ff0cf] サーバへのリクエスト・レスポンス、レスポンス時間などを確認する。 **死活(生存)監視 [#xe76f02a] ***サービス [#k41c7a6c] サーバ上のネットワーク サービスと定期的に通信を行い、正常に動作しているか否かを確認する。 -ping疎通チェック(サーバ) -ポートチェック(サーバの特定のサービス) -HTTPチェック(Web,APサーバの場合) -DNSチェック ([[DNSサーバ]]の場合) -,etc. ***ネットワーク [#b984ca1e] サーバに向かって定期的にpingなどを実行することで、~ 経路が途中で遮断されていないかなどを確認する。 ------------------------------------------------------ score 0.8095157987921036 id_ 02e2e425-6af9-4c7c-9dbf-0dd3d0c197ec file_name E9AB98E4BFA1E9A0BCE680A7E8A8ADE8A888E381AEE3839DE382A4E383B3E38388.txt text -しかし、一般的に、 --完全な「信頼性」の実現は不可能であり、 --また「信頼性」の高い、ハードウェア・ソフトウェアコンポーネントの適用は、システムのコストを押し上げる。 --このため、ほかの手段、すなわち「冗長性」と「保守性」によって「信頼性」を補強する必要がある。 **保守性(Serviceability) [#w7cdb793] -一般的に、完全な「信頼性」の実現は不可能であり、障害対応が必要になる。 -また、条件の変化に応じてアプリケーションの使用期間中にシステムの保守が必要となる。 ***バックアップ・リストア [#cfe3dab4] 問題が発生した場合、システムの復旧を早めるため、管理者が遠隔操作できる保守ツールの存在は重要になる。 また、保守ツールでの対応以外では、 -データをテープからリストアする。 -システムをゼロから構築し直す。 といった対応が、唯一の解決策の場合もある。 これらを迅速に行う手順が整備されていないと、基幹サービスが長期間利用できなくなる可能性がある。 ***パッチの適用とロールバック [#y6057dae] コンポーネントの使用期間中に、パッチの適用や、ドライバのアップグレードが必要になる事がある。~ その作業後、サーバの再起動が不要で、後で問題が発生してもコンポーネントを以前の正常な状態に迅速にロールバックできれば、「可用性」は高まる。 ***稼働中の監視 [#qa6ef8b1] あるコンポーネントに障害が発生したり機能が低下したりした場合、たとえ冗長システムであっても、~ それがサポートするサービスの「可用性」に影響を及ぼさずに障害を検出して修理する必要がある。~ 稼動監視により、「障害の検出」、「障害の前兆の検出による障害の防止」が可能になる。 **冗長性(Redundancy) [#af93334c] 「冗長性」は前述の「信頼性」」・「保守性」を補い、~ 高可用性を実現する上で重要な役割を果たす。 この「冗長性」は、 -ハードウェアの二重化から、 -サーバ・ファームといったハードウェア・ソフトウェア全体の二重化まで、 さまざまなレベルで実現できる。 ------------------------------------------------------ score 0.80833870506934 id_ 49ee95da-c6b0-40ba-ad8a-a7361cc0ff01 file_name 53514C2053657276657220E381AEE383ADE382B0.txt text | |1-3||SQL Server:&br;General Statistics:&br;User Connections|SQL Serverに現在接続しているユーザ数|~|この値の大幅な変動には注意すべき。| |2|>|>|>|>|[[インデックス>SQL Server のインデックス]]| |2-1||SQL Server:&br;Access Methods:&br;Full Scans/Sec|フル スキャンの数/秒|なし|この値が大きくなる場合、アプリケーションがインデックスを効率的に使用していないことが考えられる。原因となっているコード(クエリ)を調べ、必要に応じてインデックスを作成する。また、「tempdb」テーブルはほとんどインデックス付けされないため、「tempdb」データベースから情報を返す場合、この数値が高くなることがある。| |2-2||SQL Server:&br;Access Methods:&br;Index Searches/Sec|インデックス検索数/秒|~|このカウンタによって、システムのデータ アクセスのパターンをチェックできる。インデックスは、「範囲スキャン」、「単一インデックス レコードのフェッチ」、「インデックスの中で再度位置付け」に使用される。| |2-3||SQL Server:&br;Access Methods:&br;Page Splits/Sec|ページ分割回数/秒|~|性能上問題となる[[ページ分割>SQL Server のインデックス#z9ed663c]]の回数をチェックできる。| |3|>|>|>|>|[[ロック>DBMSのロック・分離戦略と同時実行制御]]| |3-1||SQL Server:Locks:&br;Average Wait Time(ms)|「待ち状態の原因となる各ロック要求」の「平均待ち時間(ミリ秒)」|なし|状況の監視に使用する。| |3-2||SQL Server:Locks:&br;Lock Waits/Sec|ロック取得のために、待機しなければならない要求の数/秒|~|~| |3-3||SQL Server:Locks:&br;Lock Timeouts/sec|[[タイムアウト>SQL Server でのロック・タイムアウト]]したロック要求の数/秒|~|NOWAITロックの要求を除く。状況の監視に使用する。| |3-4||SQL Server:Locks:&br;Number of Deadlocks/sec|[[デッドロック>SQL Server でのデッドロック]]に帰着するロック要求の数/秒|~|状況の監視に使用する。| |3-5||SQL Server:Latche:&br;Average Latch Wait Time|ラッチ要求の「平均待ち時間 (ミリ秒)」(ラッチは、負荷の軽い短期の同期化オブジェクトで、トランザクション全体にわたってロックする必要がない動作を保護する。主に、接続に対して行が読み取られている間、行を保護するために使用される。)|~|状況の監視に使用する。この数値が大きくなると、サーバがリソースを求めて競合に巻き込まれる恐れがある。 ------------------------------------------------------ score 0.8079669399350797 id_ cb2188b6-b3d5-4c9e-9615-762e2e8ed010 file_name 53514C2053657276657220E381AEE7AEA1E79086.txt text -オンライン処理の性能に影響を与えないための推奨事項 --システムの使用率が低いときに実行する。 --他のディスク I/O 操作を実行していないことを確認する。 --tempdb を別のディスク システム、または高速なディスク サブシステムに配置する。 --tempdb が拡張できるように、ドライブに十分な空き領域を用意する。 --オプション ---「ESTIMATE ONLY」オプション~ tempdbに必要な空き領域のサイズを見積もる。 ---「NO_INFOMSGS」オプション~ 処理量とtempdbの使用率を減らす。 ---「PHYSICAL_ONLY」オプション~ チェック内容を、DBの物理的一貫性のみの~ 低オーバー ヘッド チェックに変更する。 **[[バックアップ>SQL Server のバックアップ]] [#yc2872f4] *データ圧縮 [#r4ac03f9] パーティション毎、異なる圧縮オプションを使用できる。 -ページ圧縮 -行圧縮 --プレフィックスの圧縮 --辞書の圧縮 ディスクI/Oを減らすが、CPU時間は増える。 *チューニング [#s2c9104c] ディスク・コントローラのI/O性能をフル活用する。 **RAID、ディスク・レイアウトなど。 [#gc789add] -[[RAID]] -[[ディスク・レイアウト>SQL Server のファイルの配置]] **[[ファイル・グループに分割・配置>SQL Server のファイル・グループ]] [#gf4e58ac] **[[データのパーティション分割>SQL Server パーティション分割]] [#afa2fd98] **[[インデックス見直し>SQL Server 問題の分析方法#b2d9fa8c]] [#s8051ed7] **[[スパース列>https://msdn.microsoft.com/ja-jp/library/Cc280604.aspx]]として設定 [#c0ed1001] *監視 [#q2b80ad8] 問題を監視する。 **定常的 [#t44743df] -[[サーバーの監視]] -[[ログの監視>SQL Server のログ]] -[[SQLプロファイラ(SQLトレース)]] -データベースのサイズの監視(アーカイブなど) **[[インシデント>SQL Server#i20a1481]] [#mf7f5ee6] -[[SQL Server 問題の分析方法]] -.etc *その他 [#scbff02a] **[[パーティション分割>SQL Server パーティション分割]] [#o54767f9] [[並列クエリ>SQL Server のファイル・グループ#z5226928]]による性能向上も可能だが、主に保守・運用時時のデータ・メンテナンス性能に効果を発揮。 **シャーディング [#f1450442] --オンライン性能向上であれば、分割キーによるシャーディングを検討。 ------------------------------------------------------ score 0.8069244528178143 id_ a6472ff4-0bda-40be-8aef-4a9b34da516f file_name 2E4E4554E381A7E38390E38383E38381E381AFE69BB8E38191E3828BE3818BEFBC9F.txt text NETでの実績は上記に比べると多くは無いと思いますが、~ 最近は、Spring BatchなどのBatch Frameworkの登場で、~ Javaでもバッチが書かれることが増えてきてています。~ -Java --多重化 ---基本マルチスレッド化で多重化。 ---メモリ使用量(制限)の関係で、マルチスレッド化ではなく~ プロセスの多重起動で対応することもあるようです。 --Batch Framework~ ただ、Batch Frameworkが、少々オーバースペックの様で~ これをを理解して使いこなすのが難しいらしいです。 -.NET --多重化 ---マルチスレッド化、EXE多重起動の、両方が可能です。 ---.NETだと、EXE多重起動の方が一般的だと思います。~ マルチスレッド化が必要となるケースは、あまり思いつきません。 ---- Tags: [[:データアクセス]], [[:ADO.NET]], [[:Entity Framework]], [[:性能]] ------------------------------------------------------ score 0.8068822070960333 id_ 31767ff9-8dae-419c-a7ef-c49851a10cb7 file_name E9968BE799BAE694AFE68FB4E38384E383BCE383AB.txt text ~ https://www.osscons.jp/joeii3bn2-537/ >技術トレンドと、開発支援ツールの盛衰の一例。 -そろそろノーコード・ローコードについて言及しておく。~ https://www.osscons.jp/jonn28s49-537/ >最近流行りのノーコード・ローコード、RPAと同じで、新しいモノではない。 **その他、開発基盤の必要性 [#n8ffdb60] ***高品質・高信頼性 [#oc91e4eb] -個人情報漏洩させたらこうなった - vol. 02 - 648 blog~ http://www.kyamaneko.com/entry/personal-information-outflow-02 >「ひでえ。DBアクセスのところ、フレームワーク無視してる……」~ そう。問題の箇所においては、コーディングルールが守られていなかったため、~ SQLインジェクションを許してしまっていたのだ。~ ※ &color(red){規約の遵守にフレームワークは有用だが無視されたら無効。}; ***超高速な開発ができるわけ [#l4739469] -超高速な開発ができるわけ | Yakst~ https://yakst.com/ja/posts/4668 >「10倍の生産性での開発」が適合する場合と、しない場合があり、~ 実験的プロトタイプ、本番アプリケーションを区別することが重要である模様。~ ※ &color(red){冒頭にあるように「開発者の話ではなく、状況(前提条件)が大きなカギ」らしい。}; ***プロセス / 手法 / ツール [#c23088ad] -最新システムエンジニアリング情報館~ http://se.rdy.jp/importance.html --システムエンジニアリング概要 > プロセスと手法の関係~ http://se.rdy.jp/process.html [プロセス] 活用↓↑サポート [手法] 活用↓↑サポート [ツール]★★ --システムエンジニアリング ---ハードウェアやソフトウェアにかかわらず、~ システムを開発する[[エンジニアリング>https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?%E6%8A%80%E8%A1%93#p4ccdf68]]。 ---&color(red){ツールは「エンジニアリング」を補完する。}; ---- Tags: [[:.NET開発]], [[:ツール類]] ------------------------------------------------------ score 0.806562663525773 id_ c32680e8-fa3a-44db-9afa-7ef09aeb6ad0 file_name E5889DE59B9EE3818CE98185E38184EFBC81.txt text ]]」に記載された方法で確認する。 ***プロキシの自動検出 [#x90ec379] プロキシを自動検出している場合に遅い事例がありました。~ IEの「インターネットオプション」→「接続」タブ→「自動構成」→「設定を自動的に検出する」~ ~ IEの「ネットワークの設定を自動検出する」機能とは~ http://www.monyo.com/technical/windows/06.html **SSL [#sd950b28] SSLハンドシェークが問題になるケースがあります。 ***HTTP Keep Alive [#h13025a1] HTTP 遅すぎる原因はHTTPSの~ SSLハンドシェーク エンタープライズ マイナビニュース~ http://news.mynavi.jp/news/2009/11/11/013/index.html~ この問題の解決方法にHTTP Keep Alive設定があります。~ サーバ・クライアントの双方に、HTTP Keep Alive設定が可能です。 -HTTP キープアライブを有効にする~ http://msdn.microsoft.com/ja-jp/library/cc780771.aspx -Internet Explorer のデフォルトの~ Keep-Alive タイムアウト値を変更する方法~ http://support.microsoft.com/kb/813827/ja -HttpWebRequest.KeepAlive プロパティ (System.Net)~ http://msdn.microsoft.com/ja-jp/library/system.net.httpwebrequest.keepalive.aspx ***[[証明書失効リスト (CRL)]] [#tc6a0288] [[証明書失効リスト (CRL)]]にアクセスできないときに遅い場合があります。 -同じ SSL (https) 接続の速度が証明書によって異なる~ http://support.microsoft.com/kb/295070/ja こちらは、SSL(HTTPS)接続に限らず、~ デジタル署名されたプログラムの検証等のタイミングでも動作します。~ -FIX: A .NET Framework 2.0 managed application~ that has an Authenticode signature takes longer than usual to start~ --http://support.microsoft.com/kb/936707 --http://support.microsoft.com/kb/936707/en-us --Exchange Server 2007 managed code services do not start~  after you install an update rollup for Exchange Server 2007~ http://support.microsoft.com/kb/944752/en-us --基調講演のデモで発生した遅延の問題~ http://technet.microsoft.com/ja-jp/windows/ee803752.aspx --.NET Framework はインターネット接続が必要?~ http://social.msdn.microsoft.com/Forums/ja-JP/netfxfaqja/thread/271023cd-1ada-4e00-be4e-014068d9de66/ **LDAP [#c6e1f787] LDAPアクセスに使用しているAPI(ADSI)は、 >ADのスキーマ更新やDC再起動後に~ ADのスキーマキャッシュ情報が~ クライアントにダウンロードされる仕様であり、 このトラフィックにより時間がかかることがある。 ------------------------------------------------------ score 0.8064721121769072 id_ cee6eebe-f5cc-4a30-9104-6f1cdb693f97 file_name E5889DE59B9EE3818CE98185E38184EFBC81.txt text NET TIPS ダブル・バッファリングにより描画を行うには?~ http://www.atmarkit.co.jp/fdotnet/dotnettips/197doublebuf/doublebuf.html --サスペンド・レイアウト~ ---Control.SuspendLayout メソッド (System.Windows.Forms)~ http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.suspendlayout.aspx~ ---Control.ResumeLayout メソッド (System.Windows.Forms)~ http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.resumelayout.aspx~ ---コントロールとその子のための絵画をサスペンドを行う方法~ http://ja.softuses.com/110728 ***初期化データ取得 [#z062754d] -画面表示時のデータ取得ラウンド・トリップ~ ファサードパターンなどを取りれておらず、~ クライアント・サーバ間のラウンド・トリップが問題になることがある。 *DBMS関連 [#jfba6dbf] **キャッシュ [#dada912b] DBアプリケーションでは、DBMSの持つデータがキャッシュに上がるまで~ I/O処理時間がかかるため、初回起動時の性能が遅く感じられるケースがあります。 この場合、 -SQLのDMLを流すか -UI操作をシミュレーションする類のツール~ のスクリプト、若しくはリクエストを流すか することで、迅速にキャッシュにデータが上がるようにします。 **統計情報の自動作成 [#e0953ddc] 統計情報の自動作成によって、初回実行に遅くなることがあるようです。 -SQLServer: クエリの初回実行だけやたらと遅いときに考えられる原因 - Qiita~ http://qiita.com/emotu/items/9dd961e248113c88a1b7 --SQL Server の統計情報作成について書いてみた、ちょっとだけマジメにまとめてみた - 都内で働くSEの技術的なひとりごと~ http://ryuchan.hatenablog.com/entry/2014/03/23/184242 *ネットワーク関連 [#lbdd20f3] **通信パケットを覘く [#jfd853ee] 基本的に「[[つながらない!]]」に記載された方法で確認する。 **HTTP [#k9ea5d45] ***HTTP電文を覘く [#sece851a] 基本的に「[[つながらない!]]」に記載された方法で確認する。 ***プロキシの自動検出 [#x90ec379] プロキシを自動検出している場合に遅い事例がありました。~ IEの「インターネットオプション」→「接続」タブ→「自動構成」→「設定を自動的に検出する」~ ~ IEの「ネットワークの設定を自動検出する」機能とは~ http://www.monyo.com/technical/windows/06.html **SSL [#sd950b28] SSLハンドシェークが問題になるケースがあります。 ------------------------------------------------------ score 0.8064647098268202 id_ 577cbdfd-0988-4c03-97f3-f8467b83fd6a file_name 53514C2053657276657220E381AEE59FBAE69CACE79A84E381AAE8A8ADE5AE9A.txt text [[ft notify bandwidth(A) を参照>https://msdn.microsoft.com/ja-jp/library/ms189615.aspx]]|0|32767|0| |31|[[index create memory (A、SC)>https://msdn.microsoft.com/ja-jp/library/ms180967.aspx]]|704|2147483647|0| |32|[[in-doubt xact resolution (A)>https://msdn.microsoft.com/ja-jp/library/ms179586.aspx]]|0|2|0| |33|[[lightweight pooling (A、RR)>https://msdn.microsoft.com/ja-jp/library/ms178074.aspx]]|0|1|0| |34|[[locks (A、RR、SC)>https://msdn.microsoft.com/ja-jp/library/ms190253.aspx]]|5000|2147483647|0| |35|[[max degree of parallelism (A)>https://msdn.microsoft.com/ja-jp/library/ms189094.aspx]]|0|32767|0| |36|[[max full-text crawl range (A)>https://msdn.microsoft.com/ja-jp/library/ms189912.aspx]]|0|256|4| |37-★|[[max server memory (A、SC)>https://msdn.microsoft.com/ja-jp/library/ms178067.aspx]]|16|2147483647|2147483647| |38|[[max text repl size>https://msdn.microsoft.com/ja-jp/library/ms179573.aspx]]|0|2147483647|65536| |39|[[max worker threads (A)>https://msdn.microsoft.com/ja-jp/library/ms190219.aspx]]|128|32767&br;(32 ビット版の SQL Server では 1024 が、64 ビット版の SQL Server では 2048 が推奨されます)|0&br;0 の場合、"256+( -4) * 8" という式 (32 ビット版の SQL Server の場合。64 ビット版の SQL Server の場合はこの倍) を使用して、プロセッサ数に基づいたワーカー スレッドの最大数が自動的に構成されます。| |40|[[media retention (A、RR)>https://msdn.microsoft.com/ja-jp/library/ms175474.aspx]]|0|365|0| |41|[[min memory per query (A)>https://msdn.microsoft.com/ja-jp/library/ms191303.aspx]]|512|2147483647|1024| |42-★|[[min server memory (A、SC)>https://msdn.microsoft.com/ja-jp/library/ms178067.aspx]]|0|2147483647|0| |43|[[nested triggers>https://msdn.microsoft.com/ja-jp/library/translation/edit/ms189631.aspx?sentenceGuid=990d0eb67465b4279117f98ebf0765c7]]|0|1|1| |44|[[network packet size (A)>https://msdn.microsoft.com/ja-jp/library/ms177437.aspx]]|512|32767|4096| |45|[[Ole Automation Procedures (A)>https://msdn.microsoft.com/ja-jp/library/ms191188.aspx]]|0|1|0| |46|[[open objects (A、RR)&br;旧バージョンで使用>https://msdn.microsoft.com/ja-jp/library/ms190637.aspx]]|0|2147483647|0| |47|[[optimize for ad hoc workloads (A)>https://msdn.microsoft.com/ja-jp/library/cc645587.aspx]]|0|1|0| |48|[[PH_timeout (A)>https://msdn.microsoft.com/ja-jp/library/ms191269. ------------------------------------------------------ score 0.8056124622360568 id_ 5313bc5e-c04f-4525-9f0c-41e2ee23fd91 file_name E58D98E4BD93E383BBE7B590E59088E38386E382B9E38388E696B9E5BC8F.txt text --[[オール・アップ方式>#x918beb8]]では、品質の作り込みに十分な時間を割くことができる。~ これにより、部品1つ1つの99.999%の信頼性を実現した。 ***参考 [#uea4d963] -ステップ・バイ・ステップ方式の作業重複は、~ 「[[設計書作成と作業形骸化]]」で説明した~ 以下の観点での工程圧迫とも関連している。 --フォワードし過ぎ( ≒ 詳細設計書の書き過ぎ)による作業形骸化 -また、アポロ計画の事例では、~ コミュニケーションの重要性が指摘されている。 --大きな組織が動き出す知恵 - PageTAKA's blog~ http://pagetaka.hatenablog.com/entry/2013/01/17/%E5%A4%A7%E3%81%8D%E3%81%AA%E7%B5%84%E7%B9%94%E3%81%8C%E5%8B%95%E3%81%8D%E5%87%BA%E3%81%99%E7%9F%A5%E6%81%B5 **[[カバレッジ>#e04fc6a4]]の観点 [#b59f5147] オール・アップ方式の利点は、 -[[カバレッジ>#e04fc6a4]]率の観点からも、 -[[カバレッジ>#e04fc6a4]]率が適用できない~ イベント・ドリブン・プログラミングなどの~ プログラミング・パラダイム上からも 説明可能である。 以下、これを説明する。 ***フレーワーク品質保証の例 [#ub7c5828] フレームワークのテスト(品質保証)は、 -システムとの一体のテストで、 -当該システムで実行され得る --[[カバレッジ>#e04fc6a4]]も網羅され、 --問題の摘出&対策が可能であるので、 -データパターンを考慮したテストが必要な機能を除いて~ フレームワーク単独の単体テストを行わなくてもほぼ問題が出ない。~ (と、前述の[[オール・アップ方式>#x918beb8]]と同じ結論になる) ***イベント・ドリブン・プログラミングの例 [#mbd0fcfc] +イベント・ドリブン・プログラミングの~ プログラミング・パラダイム上で動作する~ [[カスタム・コントロール>.NETコントロールのカスタマイズ方法]]などは、 +[[カバレッジ>#e04fc6a4]]の指標だけでは十分ではなく、~ +ユーザ、ユーザ・プログラム側から十分に叩かれる必要がある。 ------------------------------------------------------ score 0.8055680272097527 id_ adfb7e72-414e-4438-92aa-827287c83cdf file_name E382AFE383A9E382A6E38389E8A8ADE8A888E38391E382BFE383BCE383B3.txt text ***メッセージング [#td14fd2d] -スケーラビリティを最大化する~ (非同期)メッセージング インフラストラクチャ -課題も多数ある。 --メッセージの順序 --有害メッセージの管理 --冪等性 -パターン --[[要求チェック>#vbc37c90]] --[[非同期要求 - 応答>#i947e3b1]] --[[競合コンシューマー>#adeadf05]] --[[調整(絞り弁、スロットル)>#r5f048d8]] --キュー ---[[キュー ベースの負荷平準化>#m8158a06]] ---[[優先順位キュー>#tf045f04]] ---[[パブリッシャー/サブスクライバー>#we34db20]] ---[[シーケンシャルなコンボイ>#n889f92a]] -タスクの協調動作 --[[パイプとフィルター>#d56122e0]] --[[Scheduler Agent Supervisor>#d9b6b869]] --[[コレオグラフィ>#z41a1a75]] ***管理と監視 [#tbba2978] -アプリケーションの停止や再デプロイを行わずに、~ 変化するビジネス要件やカスタマイズに対応する。 -パターン --[[ゲートウェイ>#o7cb8518]] ---集約 ---オフロード ---ルーティング --[[正常性エンドポイント監視>#r913f362]] --システム間連系 ---[[破損対策レイヤー>#ee356f31]] ---[[ストラングラー>#gb7104aa]] --コンポーネント ---[[アンバサダー>#kd47d078]] ---[[サイドカー>#kf9fc0f6]] --[[外部構成ストア>#g6bdf9c1]] ***パフォーマンスと拡張性 [#w039903b] -以下の要件に対応 --要求のピークに対応するスケールアウト --要求が減少に対応するスケールイン -以下の要素と関係がある。 --[[データ ストレージ>#e03b2289]] --[[メッセージング インフラストラクチャ>#td14fd2d]] -パターン --[[調整(絞り弁、スロットル)>#r5f048d8]] --データ配置 ---[[テーブルのインデックス作成>#q19a433d]] ---[[マテリアライズド・ビュー>#t9eed998]] ---[[シャーディング>#i8ed3766]] --非同期タスク ---[[キュー ベースの負荷平準化>#m8158a06]] ---[[優先順位キュー>#tf045f04]] ---[[イベント ソーシング>#gd32eb7b]] ---[[コマンド クエリ責務分離 (CQRS)>#z972b50e]] ---[[コレオグラフィ>#z41a1a75]] --その他 ---[[キャッシュ アサイド>#gb491759]] ---[[静的コンテンツ ホスティング>#t2f1a55e]] ***回復性 [#m9fc9b20] -迅速かつ効率的に障害を検出して復旧する。 ------------------------------------------------------ score 0.8054750778297065 id_ c9e1da01-acd2-47ba-a1ba-6216679ee5b0 file_name E59BA0E69E9CE996A2E4BF82E381AEE58886E69E90E4BE8B.txt text +パフォーマンスカウンタ~ ページング、メモリリークの確認、プロセスの特定など +ダンプ+ダンプ解析 --本番環境でのみ再現する場合はダンプ取得+解析 --仮想アドレス空間の確保状況を確認する。 +プログラムのプロファイル --開発環境で再現できる場合、プロファイルを実行 --ヒープの使用状況を確認する。 ***原因 [#jfbc2e0c] プログラムのバグによるメモリリーク ***解決策 [#g3b65dc3] -問題のPGを修正 -ミドルウェアへのパッチ適用等 **CPU使用率大 [#x80f91c9] ***現象 [#j8539638] +性能が出ない +CPU使用率大 ***分析手順 [#wf0d50ae] +パフォーマンスカウンタ~ CPUリソースを消費しているプロセスの特定など +ダンプ+ダンプ解析~ 本番環境でのみ再現する場合はハングダンプ取得+解析~ (ハングダンプを取得可能なほどCPUを消費する場合に限り)~ ハングしていると思われるスレッドのスタックを確認する。 ------------------------------------------------------ score 0.8051645013798714 id_ 20e67d13-5f66-4aae-b97f-1ba6c2685c59 file_name E5889DE59B9EE3818CE98185E38184EFBC81.txt text ~ 速度 NGen の強力な新機能によるアプリケーションのパフォーマンス向上 -- MSDN Magazine, 2005 年 4 月~ http://msdn.microsoft.com/ja-jp/magazine/ee207418.aspx -ngen化したモジュールのインストーラーによる配布について~ http://social.msdn.microsoft.com/Forums/netframework/ja-JP/f60483fd-2c72-4776-8de6-8c862152fe58/ngen >NGENされたファイルを含んでいるのではなく、~ WiXのカスタムアクションを使って実行にNGENしてます。~ ~ NGENはそのマシンのリソースに合わせてJIT相当の処理を事前に行う~ 仕組みなので実行環境以外でNGENすることに意味をもっていません。 ※ [[.NET Core]]からNGENは、[[ReadyToRun + Tiered Compilation]]になるらしい。 **プロセス起動の周辺 [#rfa46b2a] ミドルウェア類のプロセス起動に時間がかかっている可能性があります。 ***IIS、ASP.NET [#gd7c0b3c] ワーカ・プロセス起動からJITコンパイルまで、~ 以下の対応で解決する可能性があります。 -IIS7 以降 --アプリケーション プールの自動スタートアップを構成する (IIS 7)~ http://technet.microsoft.com/ja-jp/library/cc772112(v=ws.10).aspx -IIS6 以前~ 定期的にダミーのリクエストを送信するなどの作りこみが必要(添付参照) --&ref(pingWebApp.vbs); ***[[DBMS>#jfba6dbf]] [#d5476382] **UI初期化の周辺 [#z010e504] ***UIコントロールの初期化、描画によるチラつき [#bfdbe45d] 画面上に表示されるUIコントロールが多い場合のUIコントロールの初期化~ (この問題はWPFなどでも解決していないが、描画回数は少なく抑えられる)~ -参考:[[WPF>新アーキテクチャ設計ガイド補足(アプリケーション・アーキテクチャ)#m56020b7]] -Windows Formsでは以下の方法で描画回数を抑えることができる。 --ダブル・バッファリング~ @IT:.NET TIPS ダブル・バッファリングにより描画を行うには?~ http://www.atmarkit.co.jp/fdotnet/dotnettips/197doublebuf/doublebuf.html --サスペンド・レイアウト~ ---Control.SuspendLayout メソッド (System.Windows.Forms)~ http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.suspendlayout.aspx~ ---Control.ResumeLayout メソッド (System.Windows.Forms)~ http://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.resumelayout.aspx~ ---コントロールとその子のための絵画をサスペンドを行う方法~ http://ja.softuses. ------------------------------------------------------ score 0.8051027298856477 id_ 4b2937e1-567a-46b3-8bc9-1ccf4c83107a file_name 485454502F32E381ABE381A4E38184E381A6E8AABFE381B9E381A6E381BFE3819FE38082.txt text 「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>HTTP]] --HTTP/2について調べてみた。 --[[HTTP/3について調べてみた。]] * 目次 [#p81134bf] #contents *概要 [#y00c5f0c] [[gRPC]]を調べようと思っていたら、HTTP/2なるキーワードが。~ 「そういや話題になっていたなぁ。」などと思い少々調査してみました。 **HTTP/2とは [#ea97bc41] -2015年2月17日に正式な仕様として承認 -2015年5月に RFC 7540 として文書化 -HTTP/1.1が1999年6月に RFC 2616 として~ 規定されて以来16年ぶりのバージョンアップ。 ***経緯 [#t791f29c] -米GoogleによるWeb高速化の「SPDY」プロトコルが生み出された。 -有名サイトも次々と「SPDY」を取り入れるようになった。 -標準化団体IETFによって標準化が進められ、RFC(RFC7540, HTTP/2)化した。 ***目的 [#oc425ef6] [[HTTPの高速化>#of2d9169]] ***方法 [#q4c4e73a] [[ストリーム>#oa0a4305]]という仕組みを使用する。 ***プロトコル [#de48165e] -既存のHTTPと互換性を保ちながらセッション層を効率化する。 -そのため、HTTPの表面上の機能はそのままに、内部動作だけを置き換える。 ***今後 [#hf63d668] -まだ、十分な実績がないので、検証中のプロトコル。 --HTTP/1.1に置き換わるのか? --一部の仕様だけが生き残るのか? -HTTP/2はTCP/IP上で動作するため、品質の低い回線上で実行した場合、~ パケット遅延、パケットロスなどで全体遅延になる問題がある。 --このため、米Googleは「QUIC」というUDP上でHTTPを処理する新しいプロトコルを開発中である。 --「QUIC」も「SPDY」と同様に、IETFを通じた標準化を目指している。 **HTTPの高速化 [#of2d9169] ***通信・接続の多重化 [#q611c4c3] -HTTPでは、1つのリクエストが完了するまで、次のリクエストを送ることができない。 -現在、多くのブラウザは1ドメインへの接続を同時に複数行い、通信を多重化している。 -ただし、HTTP/1.1の仕様としては2つまでとされている。 ------------------------------------------------------ score 0.8048540784405974 id_ 1f5dc8bf-72fb-49bd-94d7-04acbe86bf5a file_name E5A4A7E9878FE38387E383BCE382BFE381AEE587A6E79086E696B9E5BC8F31.txt text ~ この場合、メモリの大量消費による同時実行性の低下やCPU時間が問題となります。 --これについては、[[こちら>大量データの処理方式2]]を参考にして下さい。 *アクセス方式とレコード長 [#w5371c88] **SAM(順次アクセス方式) - シーケンシャル・アクセス [#l7ad5ca9] -SAM(順次アクセス方式) - シーケンシャル・アクセスを~ 実現するにあたっては、特に問題となる点はありません。~ -READやWRITEのAPIによって自動的に~ ファイル・ポインタ(読み書きの開始点)が移動されます。 **DAM(直接アクセス方式) - ランダム・アクセス [#j7166bdf] DAM(直接アクセス方式) - ランダム・アクセスを実現するにあたっては、~ 特にファイル・ポインタ(読み書きの開始点)の制御が問題となります。 ***固定長 [#p19a0473] 固定長レコードの場合、 -ファイル・ポインタ(読み書きの開始点)の制御が容易です。 -Windowsでは、SetFilePointer関数を使用して、~ ファイル・ポインタ(読み書きの開始点)を、全て自分で制御して~ ランダム・アクセスを実現する必要があります。 --Win32 API でのファイルアクセス~ http://chokuto.ifdef.jp/urawaza/fileaccess.html -注意点 --4GB(32ビット)以上のファイルを扱う時は、~ 上位32ビットと、下位32ビットを64ビットデータ型に変換する必要があることでする。 --このため、レガシーVBではSEEKステートメントで2GB以上の~ ファイル・ポインタを指定することができないという制約があります。~ 4GB(32ビット)でないのは、signedの型を使用しているためと思われます。 ---VBA の 2 GB のファイル制限を超えてを移動する方法~ http://support.microsoft.com/kb/189981/ja --この制約は、Javaにもあるようです。 ---RandomAccessFileで2GB以上 JavaのQ&A【OKWave】~ http://okwave.jp/qa/q7022891.html --.NETでは、FileStream.Seek メソッドの引数が~ 64bit(long型)対応されたため、この問題は発生しなくなったようです。 ---FileStream.Seek メソッド (System.IO)~ http://msdn.microsoft.com/ja-jp/library/system.io.filestream.seek.aspx 余談になりますが、.NETで固定長レコードを処理する場合に便利な~ C構造体によるバッファ型抜きを.NET構造体とMarshalクラスを使用して実現できます。~ -Marshal クラス (System.Runtime.InteropServices)~ http://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal.aspx なお、このバッファ型抜き処理は、Open棟梁の共通部品に実装されています。 ------------------------------------------------------ score 0.8042013927855791 id_ 4cc238ec-f4ce-49c4-a0d2-8ee90d4bb9b4 file_name E8B2A0E88DB7E38386E382B9E38388E381AEE3839DE382A4E383B3E38388.txt text -ユーザ数・期間に比例して費用が発生する。 -中規模程度のテストを短期間に実施したい場合に適合。 -製品によっては、回帰テストツールの用途で利用可能な、~ UI操作の記録・再生機能を持っていることがある。 ***クローズド [#v44fd2fc] -以下のような謳い文句のものが多い。 --製品より廉価で、 --痒い所に手が届くため大規模でも適合する。 -課題は、 --結局、有償である。 --クローズドであるため、インターネット上に情報が無い。 >という点。 **回帰テストツール [#h71b8624] ***回帰テストツールの種類 [#d3546475] 以下の2つがあり、其々タイプが異なるので注意が必要。 -UI自動化による回帰テストツール -負荷テストツール機能の延長上の回帰テストツール ***回帰テストツールでの代替 [#cf98b86a] [[バイナリ電文を使用するリッチクライアント・アプリケーション>#q49fda79]]の負荷テスト用途に、~ 「UI自動化による回帰テストツール」を活用できないか?という話がよく上がる。 -マイクロフォーカス製品 - テストツール - Silk Test : マイクロフォーカス~ https://www.microfocus.co.jp/products/silk/silktest/ -HP Unified Functional Testing 12 | HPE 日本(UFT, 旧QTP)~ http://h22242.www2.hpe.com/products/software/hpsoftware/uft12.html しかし「UI自動化による回帰テストツール」は、多重実行など、代替が難しい事がある。 **参考 [#s92f654c] ***Top 5 Performance/Load Testing Tools [#if0deaa5] Top 5 Performance/Load Testing Tools In 2017~ http://www.guru99.com/performance-testing-tools.html -1) LoadUI Pro -2) [[Apache Jmeter]] -3) HP Performance Tester (LoadRunner) -4) WebLOAD -5) Silk Performer -6) Rational Performance Tester *参考 [#i2f73167] **[[Apache Jmeter]] [#a80f2365] **[[Azure上でのテスト]] [#o65bee5d] **[[負荷テストのポイント - Open 棟梁 Wiki>https://opentouryo.osscons.jp/index.php?%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88]] [#lc889af5] ---- Tags: [[:テスト]], [[:ツール類]] ------------------------------------------------------ score 0.8038624522595075 id_ e85eafaf-dde9-4ff6-9aeb-42e355a9b328 file_name E4BDBFE794A8415049E381AEE4B880E8A6A7E38081E996A2E695B0E382B3E383BCE383ABE382B0E383A9E38395E38081E58D98E4BD93E38386E382B9E38388E381AEE382A8E38393E38387E383B3E382B9.txt text blog66.fc2.com/blog-entry-176.html ***Understand [#y1394dc8] Understand(未評価)は、[[DoxyGen]]より精度が高いようです。 -Understand~ http://www.techmatrix.co.jp/quality/understand/index.html~ --操作方法についてはUnderstandヘルプ~ 「グラフィカルビューの使用 > クラスターグラフのレイアウトの制御」を参照下さい。 --添付:「Understand出力.png」を確認ください。 ***Visual Studio [#kfb8b8a1] -Visual Studioには、呼び出し階層表示機能がある。 --最上位である Ultimate でのみ利用可能 --Visual Studio IDE 上で表示できる --エクスポートなどの機能があるかは不明 -コードの視覚化および理解~ http://msdn.microsoft.com/ja-jp/library/dd409365.aspx ***Eclipse [#vfdc03b5] -Eclipseには、呼び出し階層表示機能がある。 -一つづつメソッド呼び出し階層を表示出来るが、~ 大量にある「共通関数」を一つづつでは効率が悪い。 *単体テストのエビデンス [#gf74a421] **[[カバレッジ・ツール>テスティング・フレームワーク#m38678b0]] [#u0f3e95f] **各種トレース機能 [#t3e531ff] ***IIS、ASP.NETやSQL Server [#pfcffa99] IIS、ASP.NETやSQL Serverにもトレース相当のものはあります。~ これは単純にMSミドルの機能としてサポートされているものです。 -IIS~ IIS6.0、7.0、7.5、8.0等、バージョン毎の資料を参照のこと。 --IISのログ・ファイル・フォルダを変更する - @IT~ http://www.atmarkit.co.jp/fwin2k/win2ktips/525iislogs/iislogs.html -ASP.NET --.NET TIPS [ASP.NET]ページのトレース情報を出力するには? - Webフォーム~ http://www.atmarkit.co.jp/fdotnet/dotnettips/040trace/trace.html -SQL Server --SQL Server Profiler を使用したトレースの表示と分析~ http://technet.microsoft.com/ja-jp/library/ms175848.aspx ***Visual Studio [#b63728d1] Visual Studioにも機能がありそうです。 -方法 スタック トレースを表示して失敗箇所に移動する~ http://msdn.microsoft.com/ja-jp/library/bb514156.aspx -Visual Studio 2010の新機能「IntelliTrace」 - @IT~ http://www.atmarkit.co.jp/fdotnet/chushin/vsdebug_02/vsdebug_02_01. ------------------------------------------------------ score 0.8038285099247618 id_ 3ae28de5-04f0-4570-86db-ab33984f0c8b file_name 4A6D65746572E381ABE38288E3828B576562E382A2E38397E383AAE381AEE8B2A0E88DB7E38386E382B9E38388.txt text -[[Ramp-up期間(秒)>Jmeter用語#s4c36420]]を使用した方法~ 本来、「[[Ramp-up期間(秒)>Jmeter用語#s4c36420]]」は、~ 多重度(仮想ユーザ数)を徐々に増加させるための用途で使用すため、~ スループットの調整には、「[[タイマ>Jmeter用語#q9b692ef]]」を使用した方法が推奨される。 -[[タイマ>Jmeter用語#q9b692ef]]を使用した方法~ 入力時間、思考時間を考慮して[[タイマ>Jmeter用語#q9b692ef]]を設定する。 --[[HTTPリクエストのサンプラー>#v288a329]]以下に、下記[[タイマ>Jmeter用語#q9b692ef]]を追加する。 --[[定数タイマ>Jmeter用語#q9b692ef]] ---スレッドグループやコントローラーなどのシナリオ以下に[[定数タイマ>Jmeter用語#q9b692ef]]を追加する。 ---以下の計算式を参考にして、スレッド遅延時間を設定する。 3,600秒 ──────────────────── (秒/ページ) - 目標レスポンスタイム(秒/ページ) = スレッド遅延時間(秒/ページ) x(シナリオ実行回数/時) * yページ/シナリオ ---例えば、10ページのシナリオを10回実行する場合の目標レスポンスが3秒の場合 3,600秒 ──────────── (秒/ページ) - 3(秒/ページ) 10 * 10 (ページ/時) = 3,600/100(秒/ページ) - 3(秒/ページ) = 36(秒/ページ) - 3(秒/ページ)= 33(秒/ページ) ---[[定数タイマ>Jmeter用語#q9b692ef]] : 33(秒/ページ) --[[定数スループット・タイマ>Jmeter用語#q9b692ef]] ---スレッドグループやコントローラーなどのシナリオ以下に[[定数スループット・タイマ>Jmeter用語#q9b692ef]]を追加する。 ---以下の計算式を参考にして、1仮想ユーザ中のターゲットスループット(サンプル数/分)を設定する。 サンプル数/シナリオ (シナリオ実行回数/時) ──────────── * ──────────── = 1仮想ユーザ中のターゲットスループット(サンプル数/分) 1仮想ユーザ 60分 ---例えば、10サンプルのシナリオを10回実行する場合の目標レスポンスが3秒の場合 10サンプル/シナリオ 10シナリオ/時 ──────────── * ──────── 1仮想ユーザ 60分 100(サンプル/時) = ───────── = 100/60(サンプル/分) = 1. ------------------------------------------------------ score 0.8038073508018452 id_ c7d5ee33-cd43-46de-90a2-b9d98131df02 file_name E38391E38395E382A9E383BCE3839EE383B3E382B920E382ABE382A6E383B3E382BF.txt text 「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -戻る --[[インフラストラクチャ]] --[[ログ収集いろいろ]] * 目次 [#g0e8ac17] #contents *概要 [#h29d869c] -パフォーマンス カウンタは、システムの状態や動作を計測する手段。 -パフォーマンス カウンタは、 --オペレーティング システムに含まれていることも、 --個別のアプリケーションの一部であることもあります。~ アプリケーションのインストール時にパフォーマンス カウンタもインストールされる。 *[[Windows]] [#vd38ae75] [[Windows]]のパフォーマンス カウンタ **CPUリソース [#q747fecd] 一先ず、以下の辺りを使用。 -% Processer Time -Processer Queue Length **[[メモリ・リーク]] [#dd0600b7] ***メモリ空き容量 [#dc151d10] [[未使用ページリスト、ゼロページリスト、スタンバイ リスト>物理メモリ管理#o77090d8]]の合計 -Memory\Available Bytes:~ バイト単位の空きメモリのサイズ -Memory\Available Kbytes:~ キロバイト単位の空きメモリのサイズ -Memory\Available Mbytes:~ メガバイト単位の空きメモリのサイズ -Memory\Pool Paged Bytes:~ ページ プールのサイズ -Memory\Pool Nonpaged Bytes:~ 非ページ プールのサイズ -Memory\Commited Bytes:~ コミットされた仮想メモリのサイズ ***メモリ使用量@プロセス毎 [#hb532bab] -Process(*)\Private Bytes:~ コミットされた仮想メモリのサイズ(他のプロセスと共有できない -Process(*)\Virtual Bytes:~ コミットと予約の双方の含む仮想メモリのサイズ -Process(*)\Working Set:~ 使用物理メモリのサイズ(他のプロセスと共有している部分も含む) -Process(*)\Pool Paged Bytes:~ ページ プールのサイズ -Process(*)\Pool Nonpaged Bytes:~ 非ページ プールのサイズ ***マネージド・メモリ@プロセス毎 [#j8baf58d] -.NET CLR Memory\# Bytes in all Heaps: --GCヒープに割り当てられたコミットと予約の双方の含む仮想メモリのサイズ --Gen 0 Heap Size、Gen 1 Heap Size、Gen 2 Heap Size、および Large Object Heap Size カウンタの合計値 -.NET CLR Memory\Gen 0 heap size:~ Gen 0 に割り当てられる最大の仮想メモリ サイズ(コミットと予約の双方の含む) -. ------------------------------------------------------ score 0.8036076129572695 id_ b164a1b9-3614-4a16-8e05-b221db6ce48c file_name 4153502E4E4554E381AEE78AB6E6858BE7AEA1E79086E696B9E5BC8F.txt text クライアントのブラウザがWebサーバに接続したタイミングで、サーバがクライアントに返す「SessionID(基本的にCookieを利用)」を利用することにより、それ以降の接続でユーザの[[Session>ASP.NET Session]]を識別できるようになり、Webサーバ上のメモリ上にユーザ毎の「[[Session>ASP.NET Session]]」を使用できる。仕組みは上記に示した簡単なものであるが、利用する際は、更に以下の点を考慮すると良い。 -長所~ --画面を跨って状態を管理する「状態管理技術」の中では最も手軽に利用できる。また、APIからも非常に簡単に使用することができる。 --「Cookie」が利用できない環境でも、Cookie-less sessionを使用すれば、「[[Session>ASP.NET Session]]」を使用できる。Cookie-less sessionではURLに「SessionID」が追加される。 -短所~ --基本的には、シリアル化ができないオブジェクトも格納できるが、ステート サービス・ステート データベース(後述)を使用する場合は、シリアル化可能なオブジェクトしか格納することができなくなるので、拡張性を確保する必要があるならば、シリアル化可能なオブジェクトのみ格納する。 --以下の式により、[1台のWebサーバ上で使用される[[Session>ASP.NET Session]]領域の容量] を計算し、他のサービスなどが使用するメモリなども考慮した上で、メモリ使用量が許容量以下 に抑えられるよう計算して使用する必要がある。~ ~ [ユーザ1人あたりが使用する[[Session>ASP.NET Session]]領域の容量] × [1台のWebサーバが処理するユーザ数] = [1台のWebサーバ上で使用される[[Session>ASP.NET Session]]領域の容量] --メモリ使用量の許容量 ---サーバの物理メモリの使用量としては90%以下であるが、32bit環境では、ASP.NETの.NET Frameworkが使用できる仮想メモリ量は別に決められているため、[1台のWebサーバ上で使用される[[Session>ASP.NET Session]]領域の容量]は、これ以下の使用量である必要がある。 ---ASP.NETの.NET Frameworkが使用できるメモリ量は、.NETの設定にあるMemoryLimit要素で指定される。この要素のデフォルト値は60%(サーバの物理メモリ容量の60%を意味する)となっており、サーバの物理メモリ容量が4GBである場合、ASP.NETのアプリケーションが使用できるデフォルトの仮想メモリ量は、4GB × 0.6 = 2.4GBとなる。 ---このため、物理メモリ容量が大きいサーバでは、ASP. ------------------------------------------------------ score 0.8034684864905088 id_ 0b7e2671-e920-4e91-91ef-1c24521ccb9f file_name 4E4943E381AEE8A8ADE5AE9AE381ABE381A4E38184E381A6.txt text **信号の役割 [#qb76094c] ネットワーク機器では下記の信号を使用して、通信速度、半二重・全二重を識別する。 |項番|機器|信号|役割|h |1|10BASE-T機器|NLP信号|通信速度・半二重であることを認識する。| |2|100BASE-TX機器|アイドル信号|通信速度を認識する。| |3|~|FLPバースト信号|全二重か半二重かを認識する。| ***FLPバースト信号 [#k1958c27] -「オート ネゴシエーション」機能で使用され、半二重・全二重を識別する。 -「自動識別モード」の機器同士であれば「FLPバースト信号」により半二重・全二重を識別する。 -しかし、「全二重固定モード」の機器は「FLPバースト信号」に応答しないため、半二重・全二重を識別できない。 -「自動識別モード」の仕様上、半二重・全二重か解からないときは半二重を選択する。 -このため、「自動識別モード」、「全二重固定モード」が混在する場合、~ 半二重・全二重を識別できず(通信モードのアンマッチが起こり)、~ 通信速度が遅い、通信に失敗するなどのトラブルが起きる。 **NICの通信モードの設定手順 [#wc1a0186] +[スタート] → [設定] → [コントロール パネル] → [ネットワーク接続] → [ローカル エリア接続]を選択し、右クリックして表示される[プロパティ]を選択する。 +表示される [ローカル エリア接続のプロパティ]ダイアログの[全般]タブのNICの[構成]ボタンを押すと、[NICのプロパティ] ダイアログが表示される。 +ここの[詳細設定]タブで、通信速度、半二重・全二重、自動識別のオプションを設定する。~ この表示のされかた(プロパティ名、値)は、NICのドライバにより異なる。 **参考 [#bfce8b39] -ITエンジニアの「やってはいけない」~ [実装編]通信モードの「自動識別」と「全二重固定」を混在させてはいけない:ITpro~ http://itpro.nikkeibp.co.jp/article/COLUMN/20070820/279835/ *[[NICチーミング]] [#u998a075] ---- Tags: [[:インフラストラクチャ]], [[:通信技術]], [[:Windows]] ------------------------------------------------------ score 0.8033928086813796 id_ 447acd60-0635-4f21-8e8c-05612ca8541c file_name 4153502E4E4554E381AEE78AB6E6858BE7AEA1E79086E696B9E5BC8F.txt text ---ASP.NETの.NET Frameworkが使用できるメモリ量は、.NETの設定にあるMemoryLimit要素で指定される。この要素のデフォルト値は60%(サーバの物理メモリ容量の60%を意味する)となっており、サーバの物理メモリ容量が4GBである場合、ASP.NETのアプリケーションが使用できるデフォルトの仮想メモリ量は、4GB × 0.6 = 2.4GBとなる。 ---このため、物理メモリ容量が大きいサーバでは、ASP.NETのアプリケーションの使用できる仮想メモリ量が、ASP.NETのワーカ プロセスの仮想アドレス空間の上限に近づく(若しくは上回る)ことがあるので注意する。一般的な環境のユーザ モードの仮想アドレス空間の上限は2GBである。 ---参考:MSDNライブラリ > .NET Frameworkクラス ライブラリ~ '> System.Web.Configuration.ProcessModelSection.ProcessModelSection.MemoryLimitプロパティ~ http://msdn.microsoft.com/ja-jp/library/system.web.configuration.processmodelsection.memorylimit.aspx ***Application、静的変数 [#v3205753] サーバ ステートフルな状態管理技術なので、「[[サーバ ステートフルな状態管理技術の共通的な特徴>#n364efff]]」に示した特徴を持つ。 -長所 --アプリケーションで共有されるデータを効率よく保存できる。 --採番テーブルの採番プール化などに役立つ。 -短所 --排他制御が必要になり、使い難い(再現性の低いバグを造り込み易い)。 --ネットワーク負荷分散(冗長化)の構成ノードで共有する仕組みがない。 ***Cache [#y5135a45] サーバ ステートフルな状態管理技術なので、「[[サーバ ステートフルな状態管理技術の共通的な特徴>#n364efff]]」に示した特徴を持ち、更に「Application」にキャッシングに必要なアプリケーション基盤機能を実装したような特徴を持っている。 -長所 --キャッシングに必要なアプリケーション基盤機能が実装されている。 --メモリ不足を自動検出して、データを破棄する機能を持つ。 --日付情報から自動的にデータを破棄する機能を持つ。 --ファイルの書き換えを自動検出し、自動的にデータを破棄する機能を持つ。 --他のオブジェクトの書き換えを自動検出し、自動的にデータを破棄する機能を持つ。 ------------------------------------------------------ score 0.8033213490836151 id_ 8a059706-046b-4ef0-9465-4b250a0d8f18 file_name 417061636865204A6D65746572.txt text -ただし、ワークロードの記録ができない。 -一般論に関しては[[コチラ>負荷テストのポイント#vbe698df]]が参考になる。 -参考:JMeter で SQL Server の負荷テスト at SE の雑記~ https://blog.engineer-memo.com/2013/02/02/jmeter-%E3%81%A7-sql-server-%E3%81%AE%E8%B2%A0%E8%8D%B7%E3%83%86%E3%82%B9%E3%83%88/ *参考 [#z01d3b6a] **内部リンク [#t80e08a7] ***[[Jmeter用語]] [#gf94097d] ***[[Jmeterのインストール]] [#k7cd5c15] ***[[JmeterによるWebアプリの負荷テスト]] [#gac25cfb] -[[Jmeterによる可変値の追跡]] --[[Jmeterの正規表現]] -[[Jmeterの結果のレポーティング]] ***[[Jmeterによる3層C/Sの負荷テスト]] [#pda87943] **その他 [#tfbd98a5] -Apache JMeter - Apache JMeter™~ http://jmeter.apache.org/ -JMeterでWebアプリケーションのパフォーマンス測定を行う (1/4):CodeZine(コードジン)~ https://codezine.jp/article/detail/336 ***Qiita [#j92b3d94] -JMeterの簡単な使い方まとめ~ https://qiita.com/digdagdag/items/8a4023ddc7d549fa8de8 -Jmeter のインストールから負荷テストまで~ https://qiita.com/shotets/items/d553d7be0d407a9a9a53 ***jMeterチュートリアル [#c8611a82] http://www.w3ii.com/ja/jmeter/default.html -jMeter 概要 -jMeter 環境 -jMeter テスト計画を構築 -jMeter テスト計画の要素 -jMeter ウェブテスト計画 -jMeter データベースのテスト計画 -jMeter FTPテスト計画 -jMeter Webサービスのテスト計画 -jMeter JMSテスト計画 -jMeter テスト計画を監視します -jMeter リスナー -jMeter 機能 -jMeter 正規表現 -jMeter ベストプラクティス -jMeter クイックガイド -jMeter 便利なリソース ***TECHSCORE(テックスコア) [#adc01aae] JMeter~ http://www.techscore.com/tech/Java/ApacheJakarta/JMeter/index/ +JMeterの基本 --1.1. JMeterとは --1.2. インストールと実行 --1.3. 簡単なテスト +リスナー --2.1. リスナーとは --2.2. リスナーの使用法 --2.3. 結果を表で表示 --2.4. 統計レポート --2.5. グラフ表示 --2.6. その他のリスナー +設定エレメント --3.1. 設定エレメントとは --3.2. HTTPリクエスト初期設定 --3.3. HTTP認証マネージャ --3.4. HTTPヘッダマネージャ --3.5. HTTPクッキーマネージャ --3.6. その他の設定エレメント +ロジックコントローラ --4.1. ------------------------------------------------------ score 0.8033123738617496 id_ 7b44d036-ed1e-47dd-aac8-fa9fc49bab41 file_name 5443502C20554450.txt text --TCPのチューニングの要素 #ref(FactorsOfTcpTuning.png,left,nowrap,TCPのチューニングの要素) --ウィンドウ サイズ(RWIN)の値の計算方法~ ウィンドウ サイズ(RWIN)の値の計算方法については、以下の式を利用できる。 回線速度 * pingが戻ってくる平均速度 = RWIN 次に、回線速度、pingが戻ってくる平均速度の求め方を説明する。 --回線速度~ 「回線速度」は、以下の方法で求める。 ---[[pingコマンド]]を使用してサイズの大きいIPパケットを送信する~ (ここでは、50 KBのIPパケットを送信するように指定した。[[pingコマンド]]では、最大65.5 KBのIPパケットを送信できる)。 C:\Documents and Settings\Administrator>ping xxx.xxx.xxx.xxx -l 50000 Pinging xxx.xxx.xxx.xxx with 50000 bytes of data: Reply from xxx.xxx.xxx.xxx: bytes=50000 time=10ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=50000 time=10ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=50000 time=10ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=50000 time=10ms TTL=128 Ping statistics for xxx.xxx.xxx.xxx: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 10ms, Average = 10ms ---回線速度は、以下の式で求めることができるので、 回線速度 ≒ データ サイズ / ( 所要時間 / 2 ) この式に当て込んで、回線速度は、~ 回線速度 = 50 (KB) / ( 10 / 2 ) (msec) = 50 / 5 (KB) / (msec) = 10 * (1,000 (byte)) / (( 1 / 1,000 ) (sec)) = 10 * 1,000 * 1,000 (bps) = 10,000,000 (bps) = 10 (M bps) 10M bpsと算出できる。~ ~ 確認のため、ファイル共有(SMB)を使用して、100MBのファイルの転送をテストしてみると良い。~ 10秒程度で転送が完了すれば、pingを使用した方法でも回線速度が大方正しく測定できていることが確認できる。 --pingが戻ってくる平均速度~ 「pingが戻ってくる平均速度」は、以下の方法で求める。 ---[[pingコマンド]]を使用して 1 パケット分のデータ(1,500 byte)を送信する。 C:\Documents and Settings\Administrator>ping xxx.xxx.xxx.xxx -l 1500 Pinging xxx.xxx.xxx.xxx with 1500 bytes of data: Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Ping statistics for xxx.xxx.xxx.xxx: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), ------------------------------------------------------ score 0.8030644764255099 id_ 13487c40-d7cb-423c-8209-68a4e7f608de file_name 53514C2053657276657220E381AEE59FBAE69CACE79A84E381AAE8A8ADE5AE9A.txt text atmarkit.co.jp/fdb/rensai/sqlstune01/sqlstune01_1.html --http://www.atmarkit.co.jp/fdb/rensai/sqlstune01/sqlstune01_2.html --http://www.atmarkit.co.jp/fdb/rensai/sqlstune01/sqlstune01_3.html -(2):動的ディスク管理でのチューニングポイント --http://www.atmarkit.co.jp/ait/articles/0409/25/news011.html --http://www.atmarkit.co.jp/ait/articles/0409/25/news011_2.html --http://www.atmarkit.co.jp/ait/articles/0409/25/news011_3.html -(3):速報! SQL Server 2005のデータパーティション --http://www.atmarkit.co.jp/ait/articles/0411/30/news113.html --http://www.atmarkit.co.jp/ait/articles/0411/30/news113_2.html --http://www.atmarkit.co.jp/ait/articles/0411/30/news113_3.html -(4):SQL Serverのインデックス構造(前編) --http://www.atmarkit.co.jp/ait/articles/0501/18/news097.html --http://www.atmarkit.co.jp/ait/articles/0501/18/news097_2.html -(5):SQL Serverのインデックス構造(後編) --http://www.atmarkit.co.jp/ait/articles/0503/18/news123.html --http://www.atmarkit.co.jp/ait/articles/0503/18/news123_2.html **真・Dr. K's SQL Serverチューニング研修 [#p8d1e1aa] -(1)パフォーマンスを語るために歴史を語ろう~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/01/drk01.html -(2)CAT秘伝、バランスド・システムの考え方~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/02/drk01.html -(3)内部動作を知らずしてチューニングは語れない~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/03/drk01.html -(4)DB管理者がいますぐ確認すべき3つの設定~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk01.html~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/04/drk02.html --その1:tempdbの数をCPUコア数にあわせよ --その2:x64環境なら「メモリ内のページロック指定」を変えよ --その3:OLTPでは、並列処理の最大限度(Max DOP)はCPUコア数の「4分の1」に設定せよ -(5)64ビット時代の「バランスド・システム」~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/05/drk01.html -(6)キャッシュを無駄遣いしないようにクエリを書く~ http://www.atmarkit.co.jp/fdb/rensai/10_drk/06/drk01.html **サーバー構成オプション (SQL Server) [#d14f31f8] https://msdn.microsoft.com/ja-jp/library/ms189631. ------------------------------------------------------ score 0.8026872325010759 id_ dd19bb86-f279-40eb-8809-97fbafab4ec4 file_name 4153502E4E455420636F6E666967.txt text NET アプリケーション パフォーマンスのチューニング」~ http://msdn.microsoft.com/ja-jp/library/ff647813.aspx |構成設定|規定値 (.NET 1.1)|推奨値|h |maxIoThreads|20|100| |maxWorkerThreads|20|100| |minFreeThreads|8|88*N| |minLocalRequestFreeThreads|4|76*N| |maxconnection|2|12*N| -設定例~ CPU×4でハイパー スレッディングが有効になっている場合(N=8)。 *MaxConcurrentRequestsPerCPU レジストリ [#q46b6d2f] **IIS 7 以降のクラシック・モード+.NET 4 以前 [#f9443394] MaxConcurrentRequestsPerCPU 設定([[下記のレジストリ設定>#t5881785]])を使用してください。 **IIS 7 以降の統合モード+.NET 3.5 以前 [#t5881785] IIS 7 以降の統合モード+.NET 3.5 以前では以下のレジストリ設定を使用できる。 -IIS 7 での ASP.NET 2.0 の互換性に影響する変更点~ http://technet.microsoft.com/ja-jp/library/ff454090 ***変更点 [#be0ea2a8] 統合モードでは、ASP.NET スレッド設定を使用して要求の同時実行性を制御できない。 -processModel 構成セクションの --maxWorkerThreads 設定 -system.web/httpRuntime 構成セクションの --minFreeThreads と minLocalRequestFreeThreads 設定、 は、ASP.NET で使用されるスレッド メカニズムを制御しなくなりました。 ***設定方法 [#db912418] その代わり、ASP.NET は IIS スレッド プールに依存し、 -HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\2.0.50727.0 キー内の --MaxConcurrentRequestsPerCPU の DWORD 値 (既定値は 12) を設定することで、同時実行要求の最大数を制御できるようになりました。 この設定はグローバルなので、 -アプリケーション プールや -アプリケーションごとに 変更することはできません。 *aspnet.config [#h1f15c0a] **IIS 7 以降の統合モード+.NET 3.5 SP1 以降 [#x5e90679] IIS 7 以降の統合モード+.NET 3.5 SP1 以降ではaspnet.configで以下の設定を使用できる。~ ※ Manual上は、.NET 4 以降になっているが、実際は.NET 3.5 SP1から採用されている。 -Web 設定スキーマ~ http://msdn.microsoft.com/ja-jp/library/dd560844.aspx --system.web 要素 (Web 設定)~ http://msdn.microsoft.com/ja-jp/library/dd560839. ------------------------------------------------------ score 0.8025471157127834 id_ 2bf3538e-6ea7-4479-ae52-17a1382d4420 file_name 3634626974E5AFBEE5BF9C.txt text --ソケット、パイプ、RPC、および COM といったプロセス間コミュニケーションを使用する場合は、データの処理におけるビット幅別の対応状況をチェックする。 --32 ビット プロセスから64 ビット プロセスへのアクセスを避ける。 ***その他 [#jdc8cd4c] -ASCII.jp:32bitアプリを64bit Windows 7で動かす「WOW64」~ http://ascii.jp/elem/000/000/480/480200/ -@IT:Win32アプリケーションを実行するWOW64~ http://www.atmarkit.co.jp/fwin2k/special/win64_02/win64_02_01.html **移行 [#ud78118d] ***MSDN [#w7fc8d1a] -Visual Studio ドキュメント > Visual C++~ --Visual C++ による 64 ビット プログラミング~ http://msdn.microsoft.com/ja-jp/library/h2k70f3s.aspx ---方法 : Visual C++ プロジェクトを 64 ビット プラットフォーム用に設定する~ http://msdn.microsoft.com/ja-jp/library/9yb4317s.aspx ---方法 : 64 ビットの Visual C++ ツールセットをコマンド ラインから有効にする~ http://msdn.microsoft.com/ja-jp/library/x4d2c09s.aspx ---Visual C++ の 64 ビットへの移行に関する一般的な問題~ http://msdn.microsoft.com/ja-jp/library/3b2e7499.aspx ---Itanium ソフトウェア規則~ http://msdn.microsoft.com/ja-jp/library/ms235233.aspx ---x64 ソフトウェア規約~ http://msdn.microsoft.com/ja-jp/library/7kcdt6fy.aspx -Windows 開発 > 64 ビット Windows プログラミング ガイド --開発ガイド > 64 ビット Windows プログラミング ガイド~ http://msdn.microsoft.com/ja-jp/library/bb427430.aspx ---64 ビット版 Windows での使用に向けた準備~ http://msdn.microsoft.com/ja-jp/library/aa384198.aspx ---64 ビット互換インターフェイスの設計~ http://msdn.microsoft.com/ja-jp/library/aa384167.aspx ---32 ビット アプリケーションの実行~ http://msdn.microsoft.com/ja-jp/library/aa384249.aspx ---移行に関するヒント~ http://msdn.microsoft.com/ja-jp/library/aa384214.aspx~ ● 移植に関する一般的なガイドライン~ ● 64 ビット値の格納~ ● 一般的なコンパイラ エラー~ ● その他の考慮事項~ -テクニカルドキュメント > .NET 開発 > 技術資料 --32 ビット マネージ コードを 64 ビットに移行する~ http://msdn.microsoft.com/ja-jp/library/ms973190.aspx -MSDN Blogs > とあるコンサルタントのつぶやき --All Tags > 64bit~ http://blogs.msdn.com/b/nakama/archive/tags/64bit/ ---. ------------------------------------------------------ score 0.8019812688039156 id_ 6c1cd694-69d5-454b-8679-2999888a79c1 file_name 57697265736861726BE381AEE6938DE4BD9CE696B9E6B395.txt text --必要に応じてルータやL3スイッチに実装されるQoS(ネットワークにおけるサービス品質)の~ 優先順位・帯域制御などの機能([[サービス品質制御機能>#w8b3c702]])を利用する。 --また、管理者の知らないところで利用禁止されているP2Pソフトが利用されていることなどを、~ プロトコル別一覧から検知することもできる(ただし、対応するプロトコル パーサが実装されている場合に限る)。 ***時間軸を考慮した通信概要の把握 [#md0dea90] -パケットをキャプチャし、メニューから[Statics] ⇒ [IO Graphs]を選択すると[IO Graphs]ダイアログが表示され、時間軸を考慮した通信の概要を把握できる。 -[IO Graphs]ダイアログでは、次のようなグラフを表示できる。 --[Graphs]グループのコントロールでは、フィルタ式を使用したグラフの生成とフィルタの適用が可能であり、~ [X Axis]・[Y Axis]グループでは、X・Y軸の単位・スケールの変更が可能である。 --X軸(グラフの横軸)は時間を表す。Y軸(縦軸)はデータ量を表し、単位はパケット数、データ量(バイト)から選択できる。 -以下の図は、 --HTTPプロトコルによるWebアクセス、SMBプロトコルによるファイル転送をした際の、 --IPプロトコル、HTTPプロトコル、SMBプロトコルのパケット数を >グラフにしたものである。 #ref(IOGraphsDialog1.png,left,nowrap,[IO Graphs]ダイアログ) -SMBの1つ目の山は、ファイル サーバの共有フォルダをエクスプロールしている際の通信状態を示している。 --この場合は、1つのSMBコマンドが1つのIPパケットに収まっているため、~ IP(黒折れ線グラフ)とSMB(赤棒グラフ)がほぼ等しいパケット数を示している。 --しかし、ファイル転送の際の通信状態を示しているSMBの2つ目の山は、 ---2つのSMBコマンドが複数のIPパケットに分割されるため、~ ---IP(黒折れ線グラフ)とSMB(赤棒グラフ)に大きな開きが >>見られる。 -また、このツールはグラフ毎にスケールが変更できないため、若干使い難い。 --例えば、前述のグラフではHTTPのパケット数が少なくSMBのパケット数とスケールが合っていないため、HTTPプロトコルのグラフをハッキリ確認できない。 ------------------------------------------------------ score 0.8019454058337381 id_ 099897ae-2ad3-48f4-bccd-81c5aedf8d8c file_name 4A6D65746572E381AEE7B590E69E9CE381AEE383ACE3839DE383BCE38386E382A3E383B3E382B0.txt text &br;時間単位は、表示されたレートが少なくとも1.0になるように選択される。&br;CSVファイルに保存されると、秒が選択される。| |12|Received KB/sec|ラベルの受け取ったキロバイト/秒で測定されたスループット| |13|Sent KB/sec|ラベルの送信されたキロバイト/秒で測定されたスループット| *レポーティング [#b6974cf9] **ダッシュボード・レポートの生成 [#v3b84c91] テストの成功を確認するための簡易確認用のHTMLレポートを生成する機能。 ***生成方法 [#g58e5efb] -以下のコマンドで統計ログ(CSV)をベースに生成される。 jmeter -g "XXXXシナリオ・統計レポート_XXXX.jlt" -o 出力先フォルダ -以下のプロパティを設定する。~ http://jmeter.apache.org/usermanual/generating-dashboard.html#configuration ***レポート種類 [#k53064d4] http://jmeter.apache.org/usermanual/generating-dashboard.html#overview **リスナーにロード [#wb1232f0] 出力ファイルのデータは、[[ワークベンチ>Jmeter用語#e79d0c85]]の適切なリスナーにロードして分析する。 ***[[「Response Time Graph」リスナー>Jmeter用語#nce1569e]] [#g540a843] 統計ログ(CSV)をベースに生成される。 -統計ログ(CSV)のファイルパスを指定する。 -Intervalを指定して、[Apply interval]ボタンを押下する。 -サンプラーのラベルを[[正規表現>Jmeterの正規表現]]で記入して、[Apply filter]ボタンを押下する。 -[Display Graph]ボタン ---> [Save Graph]ボタンを押下する。 ***・・・ [#n654c045] **Excelでグラフを生成 [#b7c32acf] 統計ログ(CSV)をベースに生成される。 |項番|グラフ名|縦軸|横軸|h |1|多重度(仮想ユーザ数)の推移|grpThreads or allThreads|timeStamp| |2|エラー件数の推移|success=false|timeStamp| |3|レスポンス時間の推移|elapsed|timeStamp| *参考 [#f138906c] **Apache JMeter - User's Manual [#a1a4920d] ***Listeners [#m71d982d] -12.1 Default Configuration~ http://jmeter.apache.org/usermanual/listeners.html#defaults -12.1.2 Sample Result Save Configuration~ http://jmeter.apache.org/usermanual/listeners.html#sample_configuration ***Generating Dashboard Report [#abeb6068] http://jmeter.apache.org/usermanual/generating-dashboard.html ---- Tags: [[:テスト]], [[:ツール類]] ------------------------------------------------------ score 0.8015856418940744 id_ 7d5be109-8dea-4a59-8949-574d62120886 file_name E5A4A7E9878FE38387E383BCE382BFE381AEE587A6E79086E696B9E5BC8F31.txt text **バッチ処理 [#ad349391] 大量データのバッチ処理は、基本的にストアドが高速です。 -ネットワークやプロセス間の通信処理が発生しないので、~ データ送受信のラウンドトリップが発生しない。 -カーソルによるフェッチが使用できるため~ 大量データの結果セットを取得した場合も~ メモリ消費量を抑えることができる。 Java、.NETで実装する場合は、性能的に~ 問題が無いかを事前に検証した方が良いでしょう。 -[[.NETでバッチは書けるか?]] **検索、結合、統合、集計機能 [#j5c66547] 大量データのバッチ処理で、~ 以下の様なDBMSの機構を使用したいケースもある。 -検索機能(Index Seek) -結合、統合、集計機能(Join、Union、Group By) 検索や結合機構にはインデックスが使用されているため -インデックスの構築・更新 -統計情報更新の構築・更新 等が必要になる。 -[[SQL Server 大量データ処理時の性能問題]] -[[SQL Server のアップグレードと移行]] **オーバーヘッド [#x52afce2] DBを利用可能にするまでのオーバーヘッドには以下のものがあります。 -インポート(インサート) -インデックス構築・更新 -統計情報の構築・更新 -必要であればエクスポート **無償で利用できるDB [#gc3a7f28] -MDB(accdb)、インストール不要で運用も楽。 --MS-Access を使わずに Jet Database Engine~ を使用する方法 YU-TANG's MS-Access Discovery~ http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGnrHowToUseJetWithoutMSAccess.html -SQL Server Express Edition --インストールは必要だが、 --ファイルアクセスによるSQL処理が可能(*.MDF)。 --方法 .MDF ファイルを使用して AdventureWorksLT データベースに接続する~ http://msdn.microsoft.com/ja-jp/library/dd469575.aspx -SQL Server CE~ --インストールは必要だが、 --ファイルアクセスによるSQL処理が可能(*.SDF)。 --極小SQL Server Compactでデータベース・アプリをお手軽作成 - @IT~ http://www.atmarkit.co.jp/fdotnet/joyofprogram/20080701devssce/devssce_02.html -SQLite - Wikipedia~ http://ja.wikipedia.org/wiki/SQLite --パブリック・ドメインのOSS、ADO.NET対応 ---C#-.NET で SQLite を使う基本中のキホン うめつる開発室~ http://blog.ume108.mobi/?p=3378 ---「SQLiteをWindows Mobileで動かそう!しかも.NETで!」 - verus diary~ http://d.hatena.ne. ------------------------------------------------------ score 0.8014167935801633 id_ 46ec0a7b-b625-4bf4-9ed4-8a43329039f2 file_name E99BBBE69687E38292E7A2BAE8AA8DE38199E3828BE696B9E6B395EFBC88E38391E382B1E38383E38388E383BBE382ADE383A3E38397E38381E383A3EFBC89.txt text wordpress.com/2013/09/30/%e3%80%90101%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%ba%e3%80%91%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9%e3%83%a2%e3%83%8b%e3%82%bf%e5%be%b9%e5%ba%95%e6%94%bb%e7%95%a5-%ef%bd%9e-2/ --パフォーマンス計測編~ http://sophiakunii.wordpress.com/2013/10/07/%e3%80%90101%e3%82%b7%e3%83%aa%e3%83%bc%e3%82%ba%e3%80%91%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9%e3%83%a2%e3%83%8b%e3%82%bf%e5%be%b9%e5%ba%95%e6%94%bb%e7%95%a5-%ef%bd%9e-3/ 以下は、簡単な要約。~ -監視範囲はパフォーマンス・オブジェクト、インスタンスで指定可能。 -平均カウンタ(/sec)、積算値カウンタ(Total)は異なるので注意。 -カウンタは沢山ありますので実機確認ください。~ (OSのバージョンによっても使用できるカウンタが異なるため) **タスク・マネージャ(ネットワーク・タブ) [#s13d8cf4] **システム基盤・ミドルウェア [#i36bbbd0] SNMPでネットワーク機器から情報を収集するタイプのものなどがあるようです。~ -ネットワーク管理 OpManager > トラフィック監視~ http://www.manageengine.jp/products/OpManager/network-performance-management.html#traffic-monitoring **上記以外の上記以外のフリーツール [#c4d8bff9] ***TCP Monitor Plus [#c668ceaa] メジャーなソフトであるようです。 -トラフィックモニターの詳細説明 - TCP Monitor Plus~ http://hp.vector.co.jp/authors/VA032928/traffic.html ***HTTPデバッグ・プロキシ Fiddler [#w11d3ad2] HTTPデバッグ・プロキシ Fiddlerの使い方については下記を参照下さい。 -Webセキュリティの小部屋 --Fiddler とは~ http://www.websec-room.com/2013/02/21/122 --Fiddler のインストール~ http://www.websec-room.com/2013/02/21/134 --Fiddler の簡単な使い方~ http://www.websec-room.com/2013/02/21/143 --Fiddler でリクエストパラメーターを改ざんする方法~ http://www.websec-room. ------------------------------------------------------ score 0.8014041501686756 id_ dd104460-b111-4074-8942-f840c00bc0ba file_name 5443502C20554450.txt text ---[[pingコマンド]]を使用して 1 パケット分のデータ(1,500 byte)を送信する。 C:\Documents and Settings\Administrator>ping xxx.xxx.xxx.xxx -l 1500 Pinging xxx.xxx.xxx.xxx with 1500 bytes of data: Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Reply from xxx.xxx.xxx.xxx: bytes=1500 time=2ms TTL=128 Ping statistics for xxx.xxx.xxx.xxx: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 2ms, Average = 2ms この時のAverageの値である2ミリ秒が「pingが戻ってくる平均速度」となる。 ---上記の環境(100BASE-TXのローカル ネットワーク間のノードの通信)~ ● 回線速度 :10 M bps~ ● pingが戻ってくる平均速度 :2 m sec~ で必要なRWINの値は、 回線速度 * pingが戻ってくる平均速度 = RWIN の計算方法式に当てはめ、次のようになる。 RWIN = 10 ( MB / sec ) * 2 ( msec ) = 10 * (1,000 (KB / sec)) * (( 2 / 1,000 ) (sec)) = 10 * 1,000・( 2 / 1,000 ) ((KB / sec) (sec)) = 10 * 2 ( KB ) = 20 ( KB ) = 20,000 ( byte ) --結果 ---デフォルトのRWINの値は、65,535 byteであるため、帯域幅は大きいが、~ 遅延の大きいネットワーク間のノードの通信でない限り、~ TCPのチューニング(RWINの拡張)は基本的に必要無い。 ---また、以下のチューニング ポイントも考慮する。~ ● RWINは、MSSの整数倍に設定する。~ ● パケット再送信が起きる場合は、RWINを1.5倍する。 ---- Tags: [[:IT国際標準]], [[:インフラストラクチャ]], [[:通信技術]] ------------------------------------------------------ score 0.801360468470475 id_ 1f1fe9bb-f2fd-4e7c-b0a5-447e8fa21183 file_name 485454502F32E381ABE381A4E38184E381A6E8AABFE381B9E381A6E381BFE3819FE38082.txt text --「QUIC」も「SPDY」と同様に、IETFを通じた標準化を目指している。 **HTTPの高速化 [#of2d9169] ***通信・接続の多重化 [#q611c4c3] -HTTPでは、1つのリクエストが完了するまで、次のリクエストを送ることができない。 -現在、多くのブラウザは1ドメインへの接続を同時に複数行い、通信を多重化している。 -ただし、HTTP/1.1の仕様としては2つまでとされている。 ***HTTPパイプラインとHoL(Head of Line)ブロッキング [#ob3d3214] -HTTPパイプライン --HTTP/1.1から、前回リクエストの完了を待たずに次のリクエストを送信可能 --しかし、実装の困難さから、HTTPパイプラインを正しく実装したサーバが少ない --故に、現在ほとんどのブラウザはHTTPパイプライン機能を全く実装していないか、デフォルトでオフ。 -HoL(Head of Line)ブロッキング --HTTPパイプラインには、「サーバはリクエストの順番通りにレスポンスを返さなければならない」という制限がある。 --これは、「先頭のリクエストの処理に時間がかかる場合、後続のレスポンスは全てブロックされる」という問題を起こす。 ***リソース読み込みを速くする様々な工夫 [#ia4d1120] -リソースの結合 --CSSやJSファイルを1つに結合するテクニック --ASP.NETでは[[Bundle機能>https://techinfoofmicrosofttech.osscons.jp/index.php?ASP.NET%20%E3%81%AE%20BundleConfig]]が提供されている。 -画像のインライン埋め込み~ HTML内にbase64でエンコードした画像を直接埋め込む方法 img src="data:image/gif;base64,(・・・base64文字列・・・)"> -ドメインシャーディング --多重化には、[[前述の制限>#q611c4c3]]がある。 --この制限を搔い潜るためリソースファイルの取得先ドメインを分割する。 --ベターユース的には、 ---著名なライブラリの取得は[[CDN>CDN(Content Delivery Network)]]を使用すると良い。 ---なお、[[CDN>CDN(Content Delivery Network)]]ダウン時の対応として、[[CDNフォールバック>ASP.NET の BundleConfig#jfd7be89]]というテクニックがある。 **HTTP/2のストリーム [#oa0a4305] -1つのTCP/IPコネクション上でリクエスト・レスポンスを並列化する。 -ストリームの多重化によりHoLブロッキングの問題は解決する。 ***フレーム [#u2b4733e] -並列化のためフレーム --各ストリームにおけるメッセージのやり取りはフレームという単位で行う。 ------------------------------------------------------ score 0.8007138791952894 id_ 29a3655d-ff61-4223-a575-4a3c7ea893c9 file_name E383A1E382ACE382AFE383A9E382A6E38389E382B5E383BCE38393E382B9.txt text nikkeibp.co.jp/atcl/column/16/041400085/022200022/ >ライセンス規約を改定したためらしい。 --VM停止させると固定IPに課金~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/022200023/ -[Auroraの落とし穴] --フェイルオーバー時に接続先が切り替わらない~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/042600029/ --読み込みエンドポイントで分散されない~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/042600030/ ***Azure [#b4595567] -[Azure失敗と対策] --仮想マシンが意図せず再起動される~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/041900006/ >SLAは二台以上で保証。みたいな話。 --ネットワークカードの情報が不要なのに蓄積される~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/041900007/ >今の所、簡易修正ツール+再起動で対応らしい。時期にOSレベルで対応されるかも。 --仮想マシンのサイズを変更できないことがある~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/041900008/ >Aシリーズのみが動作する物理サーバークラスタにクラスタを作成すると、D、Dv2シリーズに変更できない。~ みたいな物理サーバークラスタ依存の話があるもよう。 --仮想マシンのNICの枚数に制限がある~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/041900009/ ---インスタンスサイズによってNICの枚数も規定されている。 ---複数のNICを持つVMは仮想ネットワーク上に構築しなくてはならない。 --仮想ネットワーク上の仮想マシン間でアクセスできない~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/051100015/ ---ルーティングを起動中のネットワークの設定で設定しているようなので、間隔を開けて起動する必要がある模様。 ---Azure は、サブネット < [[VNET>Azureの仮想ネットワーク]] ⇔ オンプレNW間に既定のルーティングを提供しているため、ルートの構成と管理は必要無いらしい。 --強制トンネリングを行うと仮想マシンがアクセス不能に~ http://itpro.nikkeibp.co.jp/atcl/column/16/041400085/051100016/ ---強制トンネリングとは、Azure上の仮想ネットワークのDefault Gatewayを、Azure以外の場所(VPN機器など)に向ける設定のことを言っているらしい。 ------------------------------------------------------ score 0.8005645557479378 id_ 323f697d-a003-4411-a665-98b3986bbf28 file_name 417A757265E381AEE8A995E4BEA1E792B0E5A283E38292E585A5E6898BE38199E3828B.txt text 0.0.0/24) パブリック IP (新規) hoge-ip 高速ネットワーク オフ この仮想マシンを既存の負荷分散ソリューションの後ろに配置しますか? いいえ 管理 ブート診断 オン OS のゲスト診断 オフ Azure Security Center Basic (無料) 診断ストレージ アカウント (新規) hogediag システム割り当てマネージド ID オフ 自動シャットダウン オン 詳細 拡張機能 なし クラウドの初期化 いいえ 近接通信配置グループ なし -Linux 基本 サブスクリプション ... リソース グループ hoge 仮想マシン名 hoge 地域 西日本 可用性オプション インフラストラクチャ冗長は必要ありません 認証の種類 SSH 公開キー ユーザー名 AzureUser キー ペア名 hoge_key パブリック受信ポート SSH Azure スポット いいえ ディスク OS ディスクの種類 Standard SSD マネージド ディスクを使用 はい エフェメラル OS ディスクを使用する いいえ ネットワーク 仮想ネットワーク hoge-vnet サブネット default (10.0.0.0/24) パブリック IP (新規) hoge-ip 高速ネットワーク オン この仮想マシンを既存の負荷分散ソリューションの後ろに配置しますか? ------------------------------------------------------ score 0.8004449351983753 id_ 0779b84e-cbda-493a-8398-7648c371587d file_name E99BBBE69687E38292E7A2BAE8AA8DE38199E3828BE696B9E6B395EFBC88E38391E382B1E38383E38388E383BBE382ADE383A3E38397E38381E383A3EFBC89.txt text -※5:インターフェイス・レベル、プロトコル・レベルの統計情報を表示する(IP, TCP, UDP, ICMP, IPv6, TCPv6, UDPv6, ICMPv6) [[プロミスキャス・モード>#u1adeac2]]で別ノードからパケットを取得するに当たっては、スイッチに対してポートミラーリング等の設定が必要になるため恐らく、ネットワーク屋と連携する必要が出てくるものと思います。まず、これが可能か確認ください。 *使い方 [#fdf420e8] -1週間で学ぶネットワークの要点 - [製品研究室]~ パケット・キャプチャ・ソフト---目次:ITpro~ http://itpro.nikkeibp.co.jp/article/COLUMN/20051115/224606/?ST=network **[[Wireshark>Wiresharkの操作方法]] [#naf4fbee] 「[[Wiresharkの操作方法]]」を参照。 **Microsoft Network Monitor [#p8c66027] -概要 --機能的にはWiresharkと似通っていると思います。 --フリーのものと、製品同梱のものがあるようです。 --また、[[プロミスキャス・モード>#u1adeac2]]も存在する模様。 --データは Netmon 形式(*.cap)で保存し、Wiresharkで分析可能。 -簡単な使い方の説明 --ネットワーク・モニタ3.1を使う(基本編) - @IT~ http://www.atmarkit.co.jp/fwin2k/win2ktips/857netmon3/netmon3.html --@IT:運用 ネットワーク・プロトコルの理解と検証~ ---第1回:ネットワーク・モニタの基本的な使い方 1.ネットワーク・モニタとは~ http://www.atmarkit.co.jp/fwin2k/operation/netanalysis01/netanalysis_02.html ---第2回:ネットワーク・モニタのフィルタ機能を使う~ http://www.atmarkit.co.jp/fwin2k/operation/netanalysis02/netanalysis_01.html --ネットワークのパケットを解析する Microsoft Network Monitorの使用方法~ http://www.crystal-creation.com/software/technical-information/network/tool/microsoft-network-monitor/ --Microsoft Network Monitor 3.4 の利用方法 しーるの忘備録~ http://alt.st/142 --MSDN Blogs > JAPAN Platform SDK(Windows SDK) Support Team Blog~  > ご存じですか、Microsoft Network Monitor はコマンドラインでも操作できます~ http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2011/04/27/network-monitor.aspx -Microsoft Network Monitor 日本語化 --3.3:http://d.hatena.ne.jp/wwwcfe/files/networkmonitor33_ja.zip?d=download --3.4:http://d.hatena.ne.jp/wwwcfe/files/networkmonitor34_ja. ------------------------------------------------------ score 0.8003479244022883 id_ 4b4cfcf7-78b1-49da-a6d0-6f6ceb82fc3f file_name 3AE680A7E883BD.txt text "性能" にタグ付けされたページを一覧表示します。 #related ------------------------------------------------------ score 0.8003081065972574 id_ 0c56dca2-be5c-4766-be4a-b65e8e1fab43 file_name E382A6E382A3E383ABE382B9E382B9E382ADE383A3E383B3.txt text ~ これはパフォーマンスを向上、パフォーマンスを改善し、SQL Serverサービスがそれらを~ 使用しなければならない場合にファイルがロックされないことを確かにすることを支援します。~ ただし、これらのファイルに感染すると、ウイルス対策ソフトウェアは、感染を検出できません。 ***IIS [#q5fe8c20] 圧縮が有効になっている場合は、0 バイトのファイルを~ 返すことができます上の IIS を実行しているサーバー~ http://support.microsoft.com/kb/817442 >ウイルス対策ソフトウェアを実行し、HTTP圧縮を有効にして対象のディレクトリを~ スキャンすることによりHTTP要求から予測されるファイルではなく0バイトのファイルが返される。~ 対策として、ウイルス対策ソフトウェアのスキャンリストから、IIS の圧縮ディレクトリを除外する。 ***WSFC [#g6133c68] WSFC: クラスタ環境でのウィルス スキャンの除外設定について~ http://blogs.technet.com/b/askcorejp/archive/2010/06/10/wsfc.aspx -クラスタ環境においては、リソースの状態や、グループの構成など~ クラスタの構成情報に変更があった場合は、速やかにクラスタ内のノードに対して、情報の同期が行われます。 -しかしながら、情報の同期が行われる際に、ウイルス対策ソフトウェアによりクラスタの構成情報を保持している~ フォルダー内でスキャンが行われていると、更新されるべきクラスタ関連のファイルがロックされ、~ クラスタサービスによるファイルへの適切なアクセスが妨害される場合があります。 -このような状況が発生した場合、ノード間の情報の同期が正常に行われないため、異常が検知され、~ フェイル・オーバーが発生したり、クラスタサービスの起動に失敗するなどの現象が発生いたします。 -そのため、ご利用されているクラスタ環境のクォーラム構成のタイプに応じて、クラスタの構成情報が保持されている~ 以下のフォルダーに関しましては、ウィルス スキャンの対象から除外されることを推奨いたします。 ***Hyper-V [#w7a3253c] 以下はHyper-Vホスト上でスキャン対象外にする。 ------------------------------------------------------ score 0.8002667862863795 id_ 5891b3a3-5b3d-4f30-87d0-2209bf116791 file_name 4D6963726F736F667420506172746E6572204E6574776F726B20E381AE20E382B3E383B3E38394E38386E383B3E382B7E383BCE38292E8AABFE69FBBE38197E3819FE38082.txt text -関連するマイクロソフト製品 --Microsoft Office --Microsoft SharePoint Server --Microsoft SQL Server -オプション --スキル テスト ---Business Intelligence オプション ---Advanced Analytics オプション --パフォーマンス ---Learning パートナー オプション ---Power BI オプション --認定 IP -BI / Data Analytics | マイクロソフト クラウド プラットフォーム~ https://www.microsoft.com/ja-jp/cloud-platform/Solutions-BI-Data-Analytics.aspx ***Data Platform [#y3e432c5] Data Platform コンピテンシー~ https://partner.microsoft.com/ja-jp/membership/data-platform-competency -関連するマイクロソフト製品 --Microsoft SQL Server -オプション --スキル テスト ---SQL Database Specialist オプション ---ビッグ データ オプション --パフォーマンス ---Learning パートナー オプション --認定 IP **ビジネス アプリケーション [#ed62b186] ***Cloud Customer Relationship Management [#f7350499] Cloud Customer Relationship Management~ https://partner.microsoft.com/ja-jp/membership/cloud-customer-relationship-management-competency -Microsoft Dynamics CRM Online、マーケティング、ソーシャル、および Parature の主要なプロバイダーの専門性・実績を証明する称号。 -無制限のクラウド サポート、アカウント管理、社内使用ライセンス、開発およびテスト環境の入手、Microsoft Referrals での優先 -関連するマイクロソフト製品 --Microsoft Dynamics ERP --Microsoft Dynamics CRM -オプション --パフォーマンス ---Learning パートナー オプション ---流通会社オプション ---クラウド パートナー オプション ***Enterprise Resource Planning [#beb499c2] Enterprise Resource Planning コンピテンシー~ https://partner.microsoft.com/ja-jp/membership/enterprise-resource-planning-competency -Enterprise Resource Planning (ERP) に対するニーズを満たす Microsoft Dynamics ソリューションの開発および展開の専門性・実績を証明する称号。 -社内使用ソフトウェアのライセンス、トレーニング、およびビジネス モデリング セッションに対する割引 -関連するマイクロソフト製品 --Microsoft Dynamics ERP --Microsoft Dynamics CRM Online -オプション --パフォーマンス ---Learning パートナー オプション ---ERP 販売代理店オプション --認定 IP **モビリティ [#dc35bf3a] ***Enterprise Mobility Management [#k156368d] Enterprise Mobility Management コンピテンシー~ https://partner.microsoft.com/ja-jp/membership/enterprise-mobility-management-competency -大企業向けのパワフルで安全なモビリティ管理ソリューションの専門性・実績を証明する称号。 ------------------------------------------------------ score 0.800221410179785 id_ 7212e27e-dff0-4e62-b64a-1bdcfc14541c file_name 4A6D65746572E381ABE38288E3828B576562E382A2E38397E383AAE381AEE8B2A0E88DB7E38386E382B9E38388.txt text **負荷テスト [#pef9e793] n多重で、負荷テストを行う。 ***[[各種設定>#i7a16b4f]] [#acd84593] 各種設定を行う。 -[[多重度(仮想ユーザ数)>#k62bc337]] -[[スループットの調整>#w630dfb3]] ***GUIの利用 [#gf985b4f] --GUIは電文の記録時やスクリプト修正時に使用し、負荷テスト実行時には使用しない。 --負荷テストの際はGUIで起動をしない。[[CUI(non-GUI)モードで起動>#r4107134]]する。 ***大規模なテストを行う場合 [#w5415ee2] 必要に応じて、複数のクライアントを準備して、~ コントローラーから複数のエージェントを制御できる。 ***[[結果のレポーティング>Jmeterの結果のレポーティング]] [#y7838643] 負荷テストの結果のレポーティング用のリスナーを設定する *注意事項 [#gc15e292] **HTTPS対応 [#kf3ada0f] キャプチャの際、ブラウザに[[Jmeterプロキシ>#w59b7fe9]]の[[証明書]]をインストールする。 -HTTSを使用する場合、[[Jmeterプロキシ>#w59b7fe9]]の[[証明書]]を、~ クライアント端末の「信頼されたルート証明機関」にインストールする。 -[[Jmeterプロキシ>#w59b7fe9]]の[[証明書]]は、~ 「HTTPプロキシサーバ(Test Script Recorder)」の開始後に、~ 「Jmeterを解凍したフォルダ\bin\」以下に生成される。 **リダイレクト [#i51d7622] ***自動リダイレクト [#b81b0604] -利用中の http プロトコルハンドラがリダイレクトに自動追従するようにする。 -自動リダイレクトの応答は、Jmeterのサンプルとして追加されない。 ※ 自動追従したリクエストにはクッキーが送信されないので注意。 ***リダイレクトに対応 [#qa3e7d60] -「[[自動リダイレクト>#b81b0604]]」が無効の場合、~ 応答がリダイレクトかどうかを チェックし、そうであればそれに従う。 -この場合のリダイレクトの応答は、Jmeterのサンプルとして追加される。 *参考 [#c667a15a] -JMeterメモ - かまたま日記3~ http://kamatama41.hatenablog.com/entry/20140117/1389968656 **株式会社ケイズ・ソフトウェア [#l5224e5b] JMeter の利用方法 -(1) Ramp-up、スレッド数、ループ回数の誤用~ https://keis-software. ------------------------------------------------------ score 0.8001418310054913 id_ 5d451c61-5107-4868-80ee-43450a84108a file_name 4153502E4E4554E381AEE78AB6E6858BE7AEA1E79086E696B9E5BC8F.txt text )、クライアント側にダウンロードされるHTMLデータの膨張を抑止することも検討する。 *状態管理技術の特徴 [#zbd6e242] ココでは、状態管理技術の特徴を解説する。 **サーバ ステートレスな状態管理技術の共通的な特徴 [#md584ddd] 以下、サーバ ステートレスな状態管理技術の共通的な特徴を簡単に説明する。 -サーバにデータを保持しないことによるメリット~ サーバ ステートレスな状態管理技術は、サーバにデータを保持しない。このため、次に示すメリットが考えられる。 --サーバ リソースの消費量が少なく、拡張性に優れる。 --サーバ リソース(メモリ)の領域計算が容易である。 --サーバ リソース(メモリ)の解放タイミング(タイムアウトを含む)を考慮する必要がない。 --拡張性・信頼性を確保するための、負荷分散(冗長化)構成が容易である。 -クライアントにデータがダウンロードされることによるデメリット~ サーバ ステートレスな状態管理技術は、クライアントにデータがダウンロードされる。このため、次に示すデメリットが考えられる。 --ネットワーク トラフィックが問題になる。 --持ち回りデータの改ざんが可能なため、セキュリティを確保するのに都合が悪いことがある。 -プログラミングの難易度~ サーバ ステートレスな状態管理技術を使用した場合のプログラミングの難易度は、下記のように評価できる。 --必要なデータの引継ぎ処理に関する設計・実装が多くなる。 --「Server.Transfer処理とHTTP Context領域の組合せ」などのASP.NETの標準的な画面遷移方法以外の、新規ウィンドウ オープンやURL直打ちなどの特殊な操作に対応することが比較的容易である。 **サーバ ステートフルな状態管理技術の共通的な特徴 [#n364efff] 以下、サーバ ステートフルな状態管理技術の共通的な特徴を簡単に説明する。 -クライアントにデータがダウンロードされないことによるメリット~ サーバ ステートフルな状態管理技術は、クライアントにデータがダウンロードされない。このため、次に示すメリットが考えられる。 --ネットワーク トラフィックを軽減できる。 --データを持ち回る必要がなく、改ざんのリスクが無いため、セキュリティを確保するのに都合が良い。 ------------------------------------------------------ score 0.8000121348896998 id_ 5da617bd-0def-4aaf-86a2-450f4447f72d file_name 57697265736861726BE381AEE6938DE4BD9CE696B9E6B395.txt text --例えば、任意の装置・OSでRFC1323に記述されているウィンドウ スケール オプションを必ず使用できるかと言うと、そうとは限らない。 --TCPのプロトコル スタックでは、このような実装の非互換により障害が起こることも考えられるため、~ 今後の技術動向や新しくリリースされた装置・OSの実装にも注意を払う必要がある。 以下、TCPにおける問題の分析方法を説明する。 ***TCPの問題点として確認できること [#hcd1afbd] -シーケンス番号・ACK番号 --シーケンス番号・ACK番号を確認することで、TCPの通信シーケンスを分析できる。~ シーケンス番号は、送信データのバイト数増加し、ACK番号は受信データのバイト数増加する~ (シーケンス番号・ACK番号は、送信側・受信側で別々に管理される)。 --TCPの通信シーケンスを分析する場合は、メニューから[Statics] ⇒ [Flow Graph]を選択し、~ [Flow Graph]ダイアログで[TCP flow]オプション ボタンをチェックして、[OK]ボタンを押す。 #ref(FlowGraphDialog.png,left,nowrap,[Flow Graph]ダイアログ) --すると、TCPの通信シーケンスを分析する[Graph Analysis]ダイアログが表示される。~ ここから、TCPの通信シーケンスの詳細を分析できる。 #ref(GraphAnalysisDialog.png,left,nowrap,[Graph Analysis]ダイアログ) --ただし、この分析方法では分析対象データが膨大になるので、大量のキャプチャ データから問題を抽出する場合は、~ TCPフラグ、TCPオプション、Wiresharkの追加情報などを使用してデータを検索・フィルタする方が、効率が良い。 -TCPセグメント詳細情報(TCPフラグ)から異常を確認する --TCPセグメント詳細情報にあるTCPフラグを確認する。~ TCPフラグを下記の表に示す。TCPフラグはビットマスクが可能になっている。 >TCPのフラグ |#|区分|フラグ|意味|フラグの位置|16進表記|h |1|>|>|>|>|一般的なパケット| |1-1||SYN|TCPコネクション接続時にセットされる。|00000000000010|0x02| |1-2||FIN|TCPコネクション切断時にセットされる。|00000000000001|0x01| |1-3||ACK|肯定応答。接続開始時~終了時まですべてのパケットはACKフラグがオンになる。|00000000010000|0x10| |1-4||PSH|バッファ内容をアプリに渡す。|00000000001000|0x08| |2|>|>|>|>|特殊なパケット| |2-1||RST|問題発生時、緊急に接続を切断する。 ------------------------------------------------------