3

私の現在のプロジェクトでは、DB は SQL 2005 で、負荷は約 35 トランザクション/秒です。クライアントはより多くのビジネスを期待しており、1 秒あたり 300 トランザクションを計画しています。現在、インフラストラクチャが優れていても、DB にはパフォーマンスの問題があります。典型的なトランザクションには、少なくとも 1 つの更新/挿入と、いくつかの選択があります。

SQL 2005 または 2008 で実行されている 300 以上の txn/s を処理するシステムで作業したことがありますか?もしそうなら、どのような種類のインフラストラクチャを使用しましたか?トランザクションはどれほど複雑でしたか? あなたの経験を共有してください。誰かが既に Teradata の使用を提案していますが、これが本当に必要かどうかを知りたいです。正確には私の仕事ではありませんが、SQL が処理できる量に興味があります。

4

3 に答える 3

4

パフォーマンス テストなしでは判断できません。環境 (テーブル内のデータ、ハードウェア、実行されるクエリ) に大きく依存します。

于 2009-10-22T12:14:15.003 に答える
3

tcp.orgによると、SQL Server 2005 は 1 秒あたり 1,379 トランザクションを取得できます。 これは、それを行ったシステムへのリンクです。(そのサイトには、はるかに多くのトランザクションを持つ SQL Server ベースのシステムがあります...私がリンクしたものは、私が最初に見たものでした)。

もちろん、Kragen が述べたように、これらの結果を達成できるかどうかは、ここで誰にも言えません。

于 2009-10-22T12:24:53.483 に答える
2

高性能SQLServerに対するインフラストラクチャのニーズは、現在の構造とは大きく異なる場合があります。

ただし、現在問題が発生している場合は、問題の主な部分がデータベースの設計とクエリの設計に問題がある可能性があります。パフォーマンスの低いクエリを作成する方法はたくさんあります。トランザクションの多いシステムでは、それらを購入する余裕はありません。select *、カーソル、相関サブクエリ、パフォーマンスの悪い関数、sargeableではないwhere句などはありません。

私が最初に提案するのは、SQlServerのパフォーマンスチューニングに関する本を何冊か入手して読むことです。次に、システムの問題が発生する可能性が高い場所と、実際にそれを特定する方法がわかります。

興味深い記事: http ://sqlblog.com/blogs/paul_nielsen/archive/2007/12/12/10-lessons-from-35k-tps.aspx

于 2009-10-22T15:37:34.920 に答える