都内で働くSEの技術的なひとりごと

都内でサラリーマンやってます。マイクロソフト系(たまに、OSS系などマイクロソフト以外の技術も...)の技術的なことについて書いています。日々の仕事の中で、気になったことを技術要素関係なく気まぐれに選んでいるので記事内容は開発言語、インフラ等ばらばらです。なお、当ブログで発信、発言は私個人のものであり、所属する組織、企業、団体等とは何のかかわりもございません。ブログの内容もきちんと検証して使用してください。よろしくお願いします♪

いまさらだなぁと思いつつ、キャッシュプランがどのくらいのサイズがあるのか確認してみる

 怒涛の出張が継続しております。今年も出張三昧です(笑)(´;ω;`)
f:id:koogucc11:20170907233018p:plain

 さて、今回チューニングの一環で指示により、キャッシュプランが増えそうだなぁというクエリになりそうで..... あ、そういえばキャッシュプランのサイズって一度もみたことないとふと思ったので、早速サイズをチェックしてみました。下記のクエリを SQL Server Management Studio で実行してみましょう。各クエリのキャッシュサイズが確認できます。

SELECT
    [クエリ] = st.text,
    [キャッシュサイズ(byte)] = cp.size_in_bytes
FROM
    sys.dm_exec_cached_plans cp
    CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st
WHERE
    cp.cacheobjtype = 'Compiled Plan'

f:id:koogucc11:20170907232701p:plain

 総合計を出力してみます。あれ、エラーでました。int の範囲を超えるサイズがキャッシュされているのか。

SELECT
    [キャッシュサイズ合計(byte)] = SUM(cp.size_in_bytes)
FROM
    sys.dm_exec_cached_plans cp
WHERE
    cp.cacheobjtype = 'Compiled Plan'

f:id:koogucc11:20170907232718p:plain

 BIGINT でキャストしましょう。正しく出力できました。こんなにキャッシュされていたのか...普通なのでしょうか?

SELECT
    [キャッシュサイズ合計(byte)] = SUM(CAST(cp.size_in_bytes AS BIGINT))
FROM
    sys.dm_exec_cached_plans cp
WHERE
    cp.cacheobjtype = 'Compiled Plan'

f:id:koogucc11:20170907232725p:plain

 Mac Book Pro ほしい。

 けど、Lenovo Yoga 920 もいいな。
www3.lenovo.com

 シャンパンゴールドがなくなったのは、非常に残念。けど、ブロンズいいな。
f:id:koogucc11:20170907234441p:plain
f:id:koogucc11:20170907234434p:plain

あー、最近ブログ書いてないなぁとふと思ったので、記事書いてみた

 お久しぶりです。最近、色々と忙しくて記事が全然書けていませんでした。新しい技術にも全くキャッチアップできず、日々雑な仕事ばかりしていると、気持ちがすさんでいきますし、技術力が下がっていく一方です。11月には Tech Summit があります。このようなカンファレンスにも出ていないと、モチベーション保てないです....
f:id:koogucc11:20170815095539p:plain
Microsoft Tech Summit 2017 | インフラエンジニア、アーキテクト、IT 戦略立案に関わる皆様の為の技術カンファレンス - Microsoft Events & Seminars

 さて、気を取り直して...最近、SQL Server Management Studio 17.2 がリリースされてました。
Download SQL Server Management Studio (SSMS) | Microsoft Docs

 New in SSMS: Performance Dashboard built-in だそうなので、ちょっと見てみましょう。
blogs.msdn.microsoft.com

 ということで、17.2 をインストール。
f:id:koogucc11:20170815013425p:plain

 下図のようにクリックします。
f:id:koogucc11:20170815093659p:plain

 パフォーマンスダッシュボードが表示されます。日本語化けてますが、気にせず使いましょう。
f:id:koogucc11:20170815093900p:plain

 CPU の高いクエリを抽出したりできます。棒グラフをクリックすると、
f:id:koogucc11:20170815093920p:plain

 実際のクエリを参照できます。便利ですね。
f:id:koogucc11:20170815093942p:plain

 dmv、dmf に関してまだあまり理解していない!という方にはお勧めです。下図のように SQL Server Profiler 等を用いて、どのようなクエリが発行されているかを参照するのも勉強になるかもしれません。
f:id:koogucc11:20170815094911p:plain

 働きすぎ、社畜やん。

社畜のススメ (新潮新書)

社畜のススメ (新潮新書)

.NET Core を勉強してみる

 最近連日暑いですね。クーラーが苦手なのと、扇風機が一つ壊れたので二つゲットしました。寝室用と、

 リビング用です。

 最近の扇風機は高機能ですね。首振りの範囲が指定できたりします。360度全方向に首振りもしてくれます。
f:id:koogucc11:20170708181920j:plain

 次のお仕事では .NET Core を使用する予定です。ということで、今まで触れたこともなかった ( 最近あまりコーディングの興味が薄れていた ) ので、少しお勉強してみます。

 CentOS,Ubuntu での構成もアリな気がしますが、結局有償サポートとか組んでしまうとイニシャルはいいんですが、保守費用は結構高額になるんですよね。結局使い慣れた Windows Server でやったほうが、技術者育成の面とか、コスト面とかでメリットがありそうです。

最近、やたらと〇〇横丁なるものができています。
retrip.jp

蒲田バル横丁。今年5月オープン。
food-stadium.com

川崎のれん街 ほのぼの横丁。今年6月オープン。
www.kanaloco.jp

恵比寿横丁。これ昔からありますね。
jion.tokyo

澁谷のんべい横丁。これは最近でしたっけ?
www.nonbei.tokyo

ASP.NET Core!!

ASP.NET Core 2 High Performance - Second Edition

ASP.NET Core 2 High Performance - Second Edition

DBCC MEMORYSTATUS の結果を見ていてふと思い出したことがあったので記事書いてみた

 昨日は子供と遊び疲れて早々に寝てしまい、5時前に起きてしまいました。ということで....記事書きます(笑) DBCC MEMORYSTATUS って出力結果が非常に長いですよね。目的の結果を探すのが非常に面倒です。
f:id:koogucc11:20170605080429p:plain

 ゲートウェイでクエリがコンパイルされている数を把握するのにも、かなりスクロール(赤枠を参照)する必要があります。
f:id:koogucc11:20170605081054p:plain

 SQL Server 2016 以降、統計情報などの参照も dmv に徐々に移行されており、ゲートウェイの情報も dmv に移行されていました。下記のクエリを SQL Server Management Studio で実行してみましょう。

SELECT 
    * 
FROM 
    sys.dm_exec_query_optimizer_memory_gateways

f:id:koogucc11:20170605081349p:plain
 
 DBCC コマンドから出力される結果を dmv に移行してくれるのはいいですね。調査用クエリなどの作成が容易になるので非常にありがたいです。

 キャンプ向けに AC 電源欲しいんですよね。

 それか、ノートパソコンの給電用にも使えるように持ち歩けるものがいいかなぁ。

Microsoft Flow とそのスマフォアプリを試してみる

 週末はいい天気になりました。昨日は一日運動会でグッタリ、今日は朝から子供の習い事の送迎係です(笑)。お迎えまで少し時間があるので、待ち時間に Microsoft Flow を試してみました。
flow.microsoft.com

 どのようなものか把握していないので、早速お試ししてみました。Microsoft Flow のスマフォアプリでボタンをクリックすると、その時間をエクセルに記録し、スマフォアプリに通知するといった動作をします。
flow.microsoft.com

 早速試してみましょう。

  • テンプレートを選択し、続行をクリックします。
    f:id:koogucc11:20170521105034p:plain
  • エクセルでテーブルを作成します。ここでは、OperatingTime というテーブル名を付けています。
    f:id:koogucc11:20170521112927p:plain
  • OneDrive にアップロードします。場所は適当でかまいません。
    f:id:koogucc11:20170521105415p:plain
  • OneDrive にアップロードしたエクセルファイルとそのテーブル名を指定します。
    f:id:koogucc11:20170521105555p:plain
  • テーブルに対して、型を指定します。
    f:id:koogucc11:20170521105915p:plain
  • 通知の設定を行い、完了をクリックします。
    f:id:koogucc11:20170521111145p:plain
  • スマフォアプリで、『稼働時間を追跡する』をクリックします。f:id:koogucc11:20170521110316p:plain
  • 2,3秒で処理の完了が通知されます。
    f:id:koogucc11:20170521110430p:plain
  • エクセルに記録されたかを Excel Online で参照します。きちんと記録されていますね。
    f:id:koogucc11:20170521111203p:plain

 そろそろ、お迎えの時間です。いいサービスですね。様々な WebAPI など結びつけることで、面白いサービスが構築できそうですね。構築するのに大した時間もかかりませんし、お手軽です。まさにクラウドといったサービスの一つですね! ( このようなサービスが欲しいんですよね。レガシーがどうとか、どうでもいいのです。パブリッククラウドで競争するなら、このようなサービスを追加しないと無理なので。(独り言) ) さて、お迎えに行ってきます!

Microsoft Flow のドキュメントはこちらです。

そろそろキャンプシーズン。新たなアイテムを買おう。ワゴンの種類多いなぁ。迷うわ。

コールマン アウトドアワゴン 2000021989

コールマン アウトドアワゴン 2000021989