サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
ryuchan.hatenablog.com
通常 (なのかな?) パフォーマンスカウンタを取得する場合は、パフォーマンスモニタを使用します。 typedef はコマンドベースで実行するものです。 typeperf は取得したいカウンターを別ファイルに保存しておき、それを読みこませることで、設定したカウンターの取得ができます。パフォーマンスカウンターは下図のように設定します。 これらを手入力するのは面倒なので、パフォーマンスモニターの設定画面を使用すると少しだけ便利です。(各行が編集可能になりますので、コピーしてください。) それでは、設定したパフォーマンスカウンタを 5 秒毎に読み込み、合計のサンプリング数を 1000 に設定、パフォーマンスカウンターの結果はバイナリ形式で出力します。コマンドは下記の通りです。 typeperf -cf pCounter.txt -si 5 -sc 1000 -f bin -o pCounterRe
Silverlight と WPF のメモリーリークに関する情報を探してみました。ここにいい記事がありました。詳しい記事は、PDFをダウンロードしたほうが理解が容易だと思います。 これはありがち。昔はよくやりました。イベントは解放しないといけません。 Unregistered Events A classic leak common to all .NET applications, and a common oversight by developers. If you create an event handler to handle events occurring in some other object then, if you don't clear the link when you've finished, an unwanted strong reference will
今回やることを説明してみる 新年最初の記事はパフォーマンスカウンタです。(ちょっと地味ですね。)パフォーマンス計測で必要な SQL Server のパフォーマンスカウンタ ( sys.dm_os_performance_counters ) をまとめていきたいと思います。今回はメモリー関連です。 使用する環境を説明してみる 久しぶりの Microsoft Azure です。特に意味ないですが、A7 マシン上の SQL Server 2014 を使用したいと思います。 メモリー関連のカウンタをまとめてみる メモリー関連のパフォーマンスカウンタは、かなりの数がありますので、その中でも大事なものをリストアップしたいと思います。(独断と偏見と知識不足がありますが...) SQL Server: Buffer Manager オブジェクト カウンタ名 説明 Buffer cache hit rati
SQL Server Management Studio の知っておいたほうが良い機能について挙げてみる - その3 - で使用していた SQL を検証がしやすいよう下記のように変更したいと思います。( NESTED LOOPS をわざと発生するようにしています。) USE AdventureWorks2012 SET STATISTICS PROFILE ON SELECT * FROM [Production].[Product] a INNER JOIN [Production].[ProductInventory] b ON a.ProductID = b.ProductID OPTION(LOOP JOIN) まずは、実行プランの見方です。前回の記事で、実行プランは下から評価していくと記載していました。上からの評価が正しいです。(スイマセン。) 上図実行プランの詳細な見方を説明
IIS のチューニングをそろそろ開始しなければいけません。しかし、IIS のチューニング自体まじめにやった経験がありません。Windows Azure に Windows Server 2012 R2 でも作って、色々調査してみます。ふと、思ったんですが、仮想マシンの作成やたら高速になった気がするんですが、気のせいでしょうか?あと、仮想マシンの削除が少しだけ便利になっていますね。ディスクを削除するか選択できるようになっています。今までは、仮想マシンを削除した後に、ディスクも消去しなければいけませんでした。地味ですが、徐々に改善されていますね。 IIS のお話に戻りましょう。IIS のチューニング項目は色々ありますが、今回は keep-alive を取り上げたいと思います。keep-alive とは、Web サーバとの接続を維持し続けるための設定です。接続をし続けると、Webサーバからのレス
今まで統計情報の設定をまじめにしてなかったこともあり、今回は少しだけ、ちょっとだけ、ほんのちょっとだけ、マジメにまとめてみます。個人的な考えもあるので、ん?違うんじゃ?いけてないんじゃ?と思っても、気にしないで読んでください。( その場合は、コメントくださいね。 ) 統計情報の設定を考える上で、少しは役に立つと思います。 設定方法は、大きく 2 パターンあると思っています。それでは、まず一つ目のパターンです。規模の小さなシステム向けです。( ここでのサンプルはいつもの AdventureWorks データベースを使用しており、SQL Server は 2014 CTP2 です。) 統計情報の自動作成は『 ON 』にする。 統計情報を作成するにあたり、初めに決定すべきものは、統計情報を新規作成するかです。データベースのプロパティ or sys.databases テーブルを参照することで、初
最近、これ一週間に2回くらい発生するんです。 ちょっと調べてみたら、下図のツールがヒットしました。早速、ダウンロードしてみましょう。 dnki.co.jp 発生原因は下記の通りです。 Windows8はウォッチドッグタイマーという監視機能を実装し、プログラムの実行時間を監視するよう仕様変更しています。 ウォッ チドッグタイマーはタイムアウト時間は約4.5秒と少し短めです。従来このような時間制限はありませんでした。このためVISTA/Windows7用に 作られたBIOS、チップセットドライバー、グラフィクスドライバーは約4.5秒以内に処理を完了しない場合があります。 Windows8から処理が4.5秒以内に完了しないとDPC_WATCHDOG_VIOLATION(Bug Check 0x133)エラーを出しブルースクリーンエラーを出しPCが終了するようになりました。 DPC_WATCHDO
『 SQL Server の実行プランを少しだけ詳しく説明したみた 』で Nested Loop に関して説明しました。今回は、 Hash , Merge について説明します。 ※関係ないですけど、新幹線の移動中はブログを書くのにもってこいの環境です。 それでは本題に戻ります。まずは、Hash です。実行プランを Hash に変更するため、OPTION句を 『 OPTION ( HASH JOIN ) 』 に変更します。 USE AdventureWorks2012 SET STATISTICS PROFILE ON SELECT * FROM [Production].[Product] a INNER JOIN [Production].[ProductInventory] b ON a.ProductID = b.ProductID OPTION(HASH JOIN) 実行プランの内
最近、DSC - QX10 をゲットしましたー♪ ソニー レンズスタイルカメラ サイバーショット DSC-QX10(ホワイト) 出版社/メーカー: ソニー メディア: エレクトロニクス この商品を含むブログ (8件) を見る ゲットした理由は、これです。カメラ自体を制御する API が既に公開されています。 API でカメラを制御してみたくなったので..... 動機が変ですね... The Camera Remote API uses JSON-RPC over HTTP. You can therefore use the Camera Remote APIs with any operating system, such as Android, IOS or Microsoft® Windows®. カメラを制御するのに、 JSON-RPC over HTTP を使用しているんですね
Windows Azure の仮想マシンを起動するのに、通常は下図のサービスポータルを使用します。 しかし、最近仮想マシンを起動するのに毎回サービスポータルから起動することが、段々面倒になってきました。コマンドラインで Azure を操作できると非常に楽だと思い、Windows Azure へ接続するための PowerShell スクリプトを書いてみることにしました。 今回はPowerShell ISE を使って書いてみましょう。私のPowerShell スキルはまだまだ初心者レベルなので、ISE を使わないと書けないのです。PowerShell ISE の簡単な使い方はここに書いてあります。まだ使ったことない方は参照してみてください。あと、今回の機能を試すには、Windows Azure PowerShell をインストールしておく必要があります。 まずは、下記のスクリプトを実行すること
SlideShare で HttpClient のスライドを見つけました。.NETFramework 4.0 であれば、通常 WebClient を使用するかと思います。neuecc さんのスライドにある通り、WebRequest クラスを利用して、POST処理とかやろうとすると下記のような感じになります。※ソースコードはここから引用しました。 --------- using System; using System.IO; using System.Net; using System.Web; using System.Text; using System.Collections; namespace ConsoleApplication { public class GoogleTranslate { static void Main() { Encoding enc = Encodi
病み上がりです。今回はチューニングというわけではありませんが、チューニングに必要なログ取得について書きたいと思います。 IIS 8.0 ( Windows Server 2012 ) から、IIS 8.5 ( Windows Server 2012R2 )になって、ログの取得方法が大きく変更されています。IIS 8.0 でのログ取得の設定画面は下図の通りです。 IIS 8.5 のログ取得の設定は下図の通りです。ログイベントの出力先が、ログ or ETW イベントが選択可能になっています。 フィールドの選択方法も変更になっています。IIS 8.0は下図の通りです。 IIS 8.5 は下図の通りです。カスタムフィールドというものが追加されています。 フィールドの追加をすることで、カスタムフィールドを作成することが可能です。リクエストのリクエストヘッダ、レスポンスヘッダを取得することが可能です。
今回は、.NETFramework の GC の種類に関する記事です。ここの記事が参考になります。これは全く知見がありませんでした。下記のような種類があるそうです。 ワークステーション/コンカレント実行なし ―― メモリ割り当てに責任を持つマネージスレッドにおいて利用できるメモリ空間が不足すると、同じスレッドで動作するGCが呼び出される。GCは他の全てのマネージスレッドを停止し、メモリを片づけて、停止したマネージスレッドの動作を再開し、元のスレッドに制御を返す。 ワークステーション/コンカレント実行あり(コンカレントGCとも呼ばれる) ―― 上のシナリオに似ているが、GCが使われていないメモリを回収する間、マネージスレッドをずっと停止しておくわけではない。マネージスレッドは自身の作業を続けることができ、メモリを割り当てることも可能だが、下に記述するような若干の制限がある。gen0オブジェク
SQL Server のチューニングについてまとめていこうかと思います。まずは、インデックスを使用していないクエリの抽出方法です。SQL Server のチューニングには、dm_* で始まる動的管理ビューを多用します。今回は、主に以下の3テーブルを使用して、インデックスを使用していないクエリを探してみましょう。 sys.dm_db_missing_index_group_stats 欠落インデックス グループに関する情報を取得します。 sys.dm_db_missing_index_groups sys.dm_db_missing_index_group_stats と sys.dm_db_missing_index_details を JOIN するために必要なテーブルです。 sys.dm_db_missing_index_details 欠落したインデックスについての詳細情報を取得しま
このページを最初にブックマークしてみませんか?
『ryuchan.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く