タグ付けされた質問 「azure-vm」

6
1つのSQLサーバーに配置できるデータベースの数に制限はありますか?
私は、各顧客に独自のデータベースを提供することを計画しているSaaSシステムをセットアップしています。システムは既に設定されているため、負荷が大きくなりすぎた場合に追加のサーバーに簡単にスケールアウトできます。数千、または数万の顧客を獲得したいと考えています。 ご質問 1つのSQL Serverで使用できる/する必要があるマイクロデータベースの数に実際的な制限はありますか? サーバーのパフォーマンスに影響はありますか? それぞれ100 MBのデータベースを10,000個、または1 TBのデータベースを1つ持つ方が良いでしょうか? 追加情報 「マイクロデータベース」と言うとき、「マイクロ」という意味ではありません。私たちは数千の顧客を対象にしているので、個々のデータベースは合計データストレージの1000分の1以下になります。実際には、取得する使用量に応じて、各データベースは100MB程度になります。 10,000個のデータベースを使用する主な理由は、スケーラビリティのためです。事実、システムのV1には1つのデータベースがあり、DBが負荷のかかったときに不快な瞬間がありました。 CPU、メモリ、I / Oに負担をかけていました-上記のすべて。これらの問題を修正したにもかかわらず、ある時点で、世界で最高のインデックス作成を行っていても、望みどおりに成功した場合、すべてのデータを1つの大きなホンキンに入れることはできないことに気付きました'データベース。したがって、V2ではシャーディングを行っているため、複数のDBサーバー間で負荷を分散できます。 昨年、このシャードソリューションの開発に費やしました。サーバーごとに1つのライセンスですが、AzureでVMを使用しているので、とにかく面倒を見てくれます。疑問が生じた理由は、以前は大規模な機関にのみ提供し、各機関を独自に設定していたためです。私たちの次のビジネスは、ブラウザを持っている人なら誰でもサインアップして自分のデータベースを作成できるセルフサービスモデルです。彼らのデータベースは、大規模な機関よりもはるかに小さく、はるかに多くなります。 Azure SQL Database Elastic Poolsを試しました。パフォーマンスは非常に残念でした。そのため、通常のVMに切り替えました。

4
「時々」遅いクエリの診断に関するアドバイス
カバリングインデックスを介してインデックス付きビューから結果を返すストアドプロシージャがあります。通常、高速(約10ミリ秒)で実行され、最大8秒まで実行されることもあります。 ランダム実行の例を次に示します(注:これは低速ではありませんが、クエリテキストは、渡される値を除いて同じです)。 declare @p2 dbo.IdentityType insert into @p2 values(5710955) insert into @p2 values(5710896) insert into @p2 values(5710678) insert into @p2 values(5710871) insert into @p2 values(5711103) insert into @p2 values(6215197) insert into @p2 values(5710780) exec ListingSearch_ByLocationAndStatus @statusType=1,@locationIds=@p2 スプロックは次のとおりです。 ALTER PROCEDURE [dbo].[ListingSearch_ByLocationAndStatus] @LocationIds IdentityType READONLY, @StatusType TINYINT AS BEGIN SET NOCOUNT ON; …

1
Azure SQL Serverが非常に遅いのはなぜですか?
現在、非常に能力の低いVMがあり、より良い仕様のAzure VMに移行することを提案しています。問題は、Azure VMのスペックが高くても、Azure VMが元のVMよりもはるかに遅いことです。 元のサーバーは、2 GBのメモリを備えた2コアVMであり、Webサーバーでもあります。Microsoft SQL Server Web Edition 2008 R2を実行しており、このサーバーは他の目的で使用されるため、SQL Serverの最大サーバーメモリを512MBに制限する必要がありました。 新しいサーバーは、データベースサーバーのみである、7 GBのメモリを備えた4コアVMです。Microsoft SQL Server Standard Edition 2008 R2を実行しており、SQL Serverが使用できるメモリの量を制限していません。 これは、ミラーリング環境でセットアップされた2つのサーバーの1つですが、テストを実行しているデータベースがミラーリングされていません。このサーバー上の他のデータベースは、現時点ではトラフィックをあまり取得していません(実際、これらのテストを実行している間、アクティビティモニターは他のDBでアクティビティを示していません)。 Azure VMの問題はハードドライブがネットワークリソースであるため、スローダウンの原因になることは承知していますが、IO統計に物理的な読み取りが0の場合でも、速度は遅くなります。 ディスクのストライプ化(ドライブごとに2つのディスク)、ログとデータファイルを別々のドライブに配置することなど、Azure VMのこのページのチューニングアドバイスに従いました。 私が行っていないことは、ページ圧縮を有効にし、データベースの自動拡張を制限し、SQLサーバーのエラーログとトレースファイルのディレクトリをデータディスクに移動することだけです。私は古いサーバーでもそれをしていません。 古いサーバーではこの調整は行われず、ログとデータファイルはストライプ化されていない同じドライブ上にあります。 現在のサーバーのデータベースは65 GB(45データと20ログ)であり、新しいサーバーに転送するには少し大きすぎるため、より小さなDB(6データと13.5ログ)でテストしています。 古いサーバーでの結果CPU time = 1311 ms, elapsed time = 1057 ms.と新しいサーバーでCPU time = 1281 ms, elapsed time = 2525 ms. …

2
クラウド内のSQL Serverトランザクションログ
トランザクションログ(*.ldf)をデータベースファイル(*.mdf、*.ndf)とは別の物理ディスクシステムに配置するのが一般的です。 仮想マシンクラウド環境で、トランザクションログを他のデータファイルと同じドライブ文字に配置しても問題ありませんか?これは、今日の一般的なクラウド仮想マシン環境で通常どのように処理されますか。 注:SQL Azureは使用しません。フルアクセスが可能なWindows仮想マシンを使用する。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.