2017-02-28 16 views
1

毎秒という膨大なリクエストをで生成するWebサービスを作成しました。
MYSQLサービスがと表示されることがあります。がうまくやっています。
大きなデータベースの最適化

メインテーブルには4 420 115 entries以上が含まれています。

ストレージエンジン:InnoDBの

サーバー的な設定:

CPU : Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz 
Coeurs : 16 
Cache : 12288KB 
RAM : 4x 32Go 
Disques : 2 x 480 Go 

のmy.cnf:

skip-external-locking 
key_buffer  = 16M 
max_allowed_packet = 16M 
thread_stack  = 192K 
thread_cache_size  = 8 
myisam-recover   = BACKUP 
query_cache_limit = 1M 
query_cache_size  = 16M 

が、私はこの問題を回避し、MySQLのパフォーマンスを高めるためのアドバイスを持つことができます。 ありがとうございました

+0

使用しているストレージエンジンはどれですか。あなたの質問とそれの説明を示してください。多くの理由があります。 –

+1

働くべきことがいくつかあります。まず、my.cnfの設定が正しいことを確認してください。その後、mysql-slowログを有効にします。ここでは、テーブルのブロッキングが発生する可能性のある低速クエリを見つけることができます。すべての情報を取得したら、それを修正するためにクエリのパフォーマンスを先に進めることができます。 –

+0

私は遅いクエリをアクティブにしています。 my.cnfの設定が正しいことをどのように確認できますか?私はそれを変えたことはない。 – Pixel

答えて

-2

DBの相互作用の量を減らすために、データベース構造とアプリケーションロジックを繰り返し処理するように聞こえるようです。もう1つの選択肢は、アプリケーションとSQLデータベースの間にmemcachedまたはredisレイヤーを追加して、読み取りアクションに約1ミリ秒の応答時間を提供することです。

関連する問題