SQL-Serverのレスポンスについて

本ブログでアクセスの多い記事の中に「SQL Serverの待機時間の謎」というものがあります。
2018年の2月に書いた記事なのですが、当時AccessのMDBファイルを共有していたお客様で、利用端末台数の増加及び、データ量の増加に伴い、データベースへのアクセス効率を高める目的でSQL-Serverを導入したにもかかわらず、思ったようなレスポンスが得られなかった事からデータベースのモニターをチェックしていた時に”待機時間”が長い事に気が付いたという話。

で、結局のところ分かったことは、サーバーに搭載するメモリーの容量でデータベースのレスポンスにかなりの差が生じるという事。
SQL-Serverの処理効率は、CPUの処理能力よりも、メモリー容量に左右されます。

端的な例を示すと、同じWindows Server 2016 + SQL-Server 2016で構成されていて、私の開発環境(CPU:Xeon 3.3GHz メモリ:8GB)で実行すると2~3分程度かかる処理がお客様の環境(CPU:Xeon 3.3GHz メモリ:16GB)で実行すると30秒以内で完了してしまう。
ネットワーク環境的に考えて、接続端末台数などによるトラフィックは断然お客様の方が高いのですが結果としてはお客様の環境の方がレスポンスははるかに良いという事になります。

まぁ、私の場合開発環境という事もあり、動作の確認さえできれば問題なので特に環境を改善する必要もないのですが・・・。
(処理完了待ちの間にお茶でも飲んでいられるし・・・)

結論として、メモリー容量が少ないと待機時間が増える傾向があるようです。
もちろん、インデックスの定義やSQL文に定義する検索方法(完全一致、あいまい検索)のチューニング、プロシジャーの作成で改善できるものもありますが、レスポンスに一番大きな影響を与えるのがサーバーに搭載するメモリー容量なんですね。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント