定期的に SQL Server にクエリを実行するアプリを作っていたところ、コネクションプール利用を誤っていて、TIME_WAIT の接続を大量に残してしまうということをやらかしてしまいました orz
コネクションプールの管理はアプリケーション側になると思いますが、SQL Server 観点でコネクションプールによる接続かどうかを確認する方法もありますので今回はその方法を紹介したいと思います。
Read the rest of this entry »
Archive for the ‘SQL Server’ tag
SQL Server でコネクションプールによる接続となっていることを確認してみる
SQL Server 2019 CTP 2.2 の Big Data Cluster を支えるソフトウェア
SQL Server 2019 の新機能である Big Data Cluster は Kubernetes 上に展開された SQL Server on Linux をインタフェースとして、Hadoop のエコシステムを活用することができるデータ分析基盤になります。
いままで触ってこなかったソフトウェアが大量に含まれていたので、軽くまとめた一覧を。
コンポーネントが多いので、HDInsight のように、まとまった情報が欲しいですね。
|
役割 |
ソフト |
バージョン |
URL |
|
実行基盤 |
Kubernetes |
1.10 以降 |
|
|
リバースプ |
nginx |
nginx version: nginx/1.10.3 (Ubuntu) |
|
|
データ |
Apache Hadoop |
Hadoop 2.9.1 |
|
|
|
Apache Hive |
1.2.1 |
https://cwiki.apache.org/confluence/display/Hive/LanguageManual |
|
|
Apache Livy |
0.5.0 |
|
|
|
Apache Spark |
2.3.1 |
https://spark.apache.org/ |
|
認証 |
Apache Knox |
1.1.0 |
|
|
|
Apache Ranger |
0.7.0.2.6.4.0-9 |
|
|
ログ収集 |
Fluent Bit |
Fluent-Bit v0.13.5 |
|
|
|
Kibana |
6.3.1 |
|
|
|
Elastic Search |
6.3.2 |
https://www.elastic.co/jp/products/elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html |
|
|
Grafana |
Version 5.2.2 |
|
|
|
InfluxDB |
1.5.3 |
|
|
|
Telegraf |
1.6.0 |
https://www.influxdata.com/ |
|
|
Collectd |
5.5.1 |
|
|
プロセス |
Supervisor |
3.2.0 |
Attunity Replicate for Microsoft Migration のサポートマトリクスが当初より変更されています
Attunity Replicate for Microsoft Migrations の活用アセスメント や、海外のイベントで紹介されていた、利用期間が限定されており、移行のサポートマトリクスが限定的な Attunity Replicate for Microsoft Migration ですが、アナウンスされた当初とは、移行のサポートマトリクスが変更となっているようです。
当初は冒頭に記載したブログの内容のように「Microsoft 製品以外から、Microsoft が提供する Database への移行」をサポートしていました。
最新の情報は、Attunity Replicate for Microsoft Migration から確認できるのですが、サポートマトリクスが次のように変更となっています。
SQL Server から SQL Server の移行にも対応したようですね。
以前は、Attunity Replicate for Microsoft Migration では、ソースとして SQL Server を選択することができなかったはずなのですが、最新のバージョンですと SQL Server からの移行をサポートしています。
(実際に、SQL Server 2008 R2 から、SQL Server 2019 に移行することができました)
このソフトは永続的に使用することはできず、利用可能な期間については、Read about the Attunity Replicate for Microsoft Migrations program に次のように記載されています。
*Attunity Replicate for Microsoft Migrations is limited to database migrations only and cannot be used as a standalone product similar to Attunity Replicate. Database migrations should be completed within a twelve-month period. The twelve month’s use limitation per data migration will be implemented and governed by means of the applicable end user license agreement. This program expires June 30, 2019.
データシートには「2019/6/30まで」が使用期間として記載されていますが、こちら「2019/12/31」まで利用することができるそうです。
(フォーラムで質問した際の回答ですので、利用者の責任において利用可能期間はきちんと確認するようにしてください。)
ライセンス的には「データベースの同期」の目的ではなく、「デーベースの移行」の目的で使う必要があるとなっていますので、移行が完了した際にはデータの同期は外す必要があるので、利用目的についてはご注意ください。
Azure の SQL Server VM のライセンスモデルの変更でできるようになったことをまとめてみる
昨年の 11 月に Azure Hybrid Benefit for SQL Server on Azure Virtual Machines という記事が公開されました。
技術文書も Azure での SQL Server 仮想マシンのライセンス モデルを変更する方法 として別途公開されています。
2019/1 時点のこのアップデートでできるようになったことをまとめておきたいと思います。
Read the rest of this entry »
「待ち事象」を起点とした SQL Server のボトルネックの調査の基本 その 2
「待ち事象」を起点とした SQL Server のボトルネックの調査の基本 その 1 の続きになります。
前回の投稿では、待ち事象の説明や、待ち事象の情報の取得方法について触れてみました。
今回の投稿では、実際に情報を取得しながら、待ち事象を確認してみたいと思います。
Read the rest of this entry »
「待ち事象」を起点とした SQL Server のボトルネックの調査の基本 その 1
先日、ZOZOTOWNで最大級のトラフィックを記録する福袋発売イベントで実施した負荷対策 という、ZOZOTOWN さんの負荷対策についての記事が公開されました。
はてブをみると、かなりの方がブックマークをされているようですね。
私も案件の中で、ボトルネック調査をすることがあるのですが、その際の基本的なアプローチをまとめる、良い機会かなと思って本投稿を書いてみました。
ボトルネックを調査する対象となる環境はどのようなものか?
ボトルネックの調査を行うための環境ですが、色々ケースがあるかと思います。
例えば、次のようなものがあるのではないでしょうか。
- 自分が保守に携わっている本番環境で発生するパフォーマンス問題
- 開発環境で発生するパフォーマンス問題
- 特定のタイミング (例 : 夜間バッチ) 発生するパフォーマンス問題
ここ数年はフリーランスとして業務をしているため、保守 / 運用を通して「自分が恒常的に面倒を見ているシステムに対してのボトルネック解消」を受けるような機会はありません。
私がボトルネックの調査に携わる機会が多いのは、次のようなケースです。
- 自分が開発 / 保守に携わっておらず、システムの中身が全くわからない環境で発生しているパフォーマンス問題
このようなケースのパフォーマンス問題に対しての調査の依頼というものは、毎年相談を受けます。
本投稿は、「自分が中身を知っているシステムではない環境」でパフォーマンスのボトルネックを調査する場合の、私が実際に行っているアプローチの一つとなります。
Read the rest of this entry »
はじめて Go を触る際に参考にさせていただいた情報のメモ
以前作成した、Zaiba2 の SQL Server / SQL Database のメトリクス情報の取得は、PowerShell / PowerShell Core で実行可能なスクリプトとして実装していたのですが、TICK Stack の標準のメトリクスの仕組みでは、Go が使用されている Telegraf が使用されています。
Telegraf には、新しい Input Plugin を組み込むことができるのですが、それには Go を使用したコーディングが必要となるので、この機会に勉強をしてみました。
その際に、Go を始めるにあたって参考にした情報をメモとして。
テストコードの記述や、Release にコンパイル済みモジュールが追加できていないのですが、Go 版の Zaiba2 のメトリクス収集は zaiba2go として GitHub に放流してあります。
Read the rest of this entry »
SSMS 18.0 Preview 5 で追加された新しい機能について
SSMS 18.0 Preview 5 で、二つほど大きめの機能が追加されているのでご紹介まで。
このバージョンから 次の二つの機能 が追加されています。
- 静的データマスク (Static Data Masking)
- クエリチューニングアシスタント (クエリ調整アシスタント / Query Tuning Assistant : QTA)
SQL Server の簡易モニタリングツール Zaiba2 のプロトタイプを公開しました
SQL Server の各種メトリクスを時系列でする確認する必要があり、それを Windows 環境を使用したシンプルな構成で簡易に実行したかったため、Zaiba2 (ざいばつ) というツールを作成しました。
現時点のモジュールは Github で公開していますので、セットアップの際には、このリポジトリのファイルをダウンロードしておいてください。
Zaiba2 は、SQL Server 2008 以降 / SQL Database に対応しており、次のようなダッシュボードにより、各種メトリクスを可視化することが可能となります。
ブラウザについては Edge ではなく、Chrome を使った方が良いかと。
(Edge だと、期間を変更した場合のリロードが遅い気がするのですよね)
![]()
Read the rest of this entry »
SQL Server の仮定のインデックスについてまとめてみる
SQL Server のインデックスの設定状況について調査する機会があり、その中で「そういえば、そういう機能あったな」というものの一つに「仮定のインデックス」(仮想インデックス) がありました。
本ブログで今まで取り上げたことが無かったので、少しまとめてみたいと思います。
詳細については SQL Server Performance Tuning with Hypothetical Indexes の記事が参考になります。
Read the rest of this entry »