2016-07-05 3 views
3

私のウェブサイトは毎日5000人以上のユーザーを抱えています。だから私は次のようにサーバーのmysqlの最大接続を変更しましたmysqlの最大接続数が大きいとサイトのパフォーマンスに影響しますか?

 SET global max_connections = 1000000 

とmy.confファイルも編集しました。今私のサイトは非常に遅いロードされているように感じる。これはサイトの読み込み時間に影響しますか?疑いを明確にしてください。事前に感謝します

+1

これは素晴らしい問題ですが、答えは常にDBを使用するのではなく、ほとんどのユーザーが同じコンテンツを表示している場合に、キャッシングを開始することです。また、ユーザーごとに複数のDB接続を提供しないようにする必要があります。まれに、問題に現実的なオプションを追加してリソースを投入することは、最適化がはるかに望ましい。 – ArtisticPhoenix

答えて

4

接続制限を増やす前に、データベースがホストされているマシンが追加の作業負荷を処理できるようにすることをお勧めします。サポートできる接続の最大数は、以下の変数によって異なります。

  • 可能なRAMを - システムが 追加のワークロードを処理するのに十分なRAMを持っている必要があります。

  • プラットフォームのスレッドライブラリの品質 - これはプラットフォームによって異なる
    に基づいています。たとえば、使用するPosix
    互換レイヤーでWindowsを制限することができます(ただし、制限は
    MySQL v5.5以降には適用されません)。ただし、アーキテクチャ(x86とx64)やメモリの量によっては、アプリケーションごとに
    が消費される可能性があるため、memorayの使用に関する懸念事項は残っています(
    )。

  • 必要な応答時間 - 数値を増やすと、要求に応答する時間が増えます。
    これは、生産に入る前に、お客様のニーズを確実に満たすように、
    にテストする必要があります。

  • 接続ごとに使用されるRAMの量は - ここでも、RAMが重要であり、
    ますので、接続ごとに使用されるRAMは システムに過負荷をかけたりしませんかどうかを知る必要があります。
  • 各接続に必要なワークロード - ワークロードも

    追加接続を処理するために必要なシステムリソースを考慮してください。

また、開いているファイルの制限を増やす必要があります。これは、十分なハンドルが利用できるようにするために必要な場合があります。

自分のシステムでこれらの設定を気にする代わりに、データベースをクラウド上のサービスとして提供するMorpheusのようなサービスを使用することもできます。 Morpheusを使用すると、MySQL、MongoDB、Redis、Elasticsearchなど、いくつかのデータベースを簡単かつ迅速に選択できます。

+0

MySQLのドキュメントにはMySQL 5.7のWindowsの制限が記載されています。「プラットフォームはPosix互換レイヤーを使用しているため、Windowsは(オープンテーブル×2 +オープン接続)<2048」に制限されています。出典:https://dev.mysql.com/doc/refman/5.7/en/too-many-connections.html – ameba

関連する問題