2017-08-08 6 views
0

をスピードアップするためにどのようにチューンナップサーバー私が悪いのクエリの多く(インデックスなしの長いクエリ、順番がランド()、ダイナミック計数によってあるPHPプラットフォーム上のショップ(悪い先進)を持っています、 ...)MySQLのオーバーヘッド - 悪いクエリ

私は今のクエリを変更する可能性を持っていないが、私は同調するように生き続けるためにサーバーを持っています。

私はMySQLのエンジンとチューンそれを変更して最適化された非常に大きなデータベースを、持っていたが、それはすべてがダウンした最初のプロジェクトであり、私が知っているすべてのものを試してみました。

現状:

1.フロントエンド(PHP) - AWS m4.large例えば、アマゾンのLinux(最新)、opcacheとPHP 7.0は、AWS Elasticacheに外部のMemcachedを有効にmod_pagespeed、(Apacheモジュール)を有効に私は主に、インスタンスを低くする必要がAWSのc4.xlargeインスタンス(50%平均負荷)

にTokuDBエンジンとPercona DB - (t2.micro、5%平均負荷)

2. SQL c4.xlargeですが、私がc4.largに切り替えるとe、数時間後に大きな過負荷があります。

データベースは、データの唯一の300メガバイトを持って、私は成功しません...、XtraDB、InnoDBは、クエリキャッシュを試みたが、交通も非常に低いです。 PHPはMySQLi拡張を使用します。

クエリをリファクタリングせずに負荷を減らす方法はありますか? www.mysqlcalculator.comの

+3

醜い仕事面倒/時間のかかるSELECTのを、特定することができますが行われなければなりませんこの問題は発生しません。P – Matt

+3

クエリのインデックスを作成できます。遅いクエリログを少しだけオンにしてから、どのクエリをインデックス化できるか把握してみてください。ペルコナのツールキットを使用してその一部を実行します。さらに多くのオプションについてはhttps://dba.stackexchange.comで確認することもできます。 – aynber

+0

NewRelicのようなツールをインストールして、最もよく使われるクエリを得ることができます。次に、リファクタリングに関連するものに焦点を当てることができます。 –

答えて

0

使用すると、2分未満では約ダースメモリ消費の要因に脳の検査を取得する簡単な方法だろう。 SHOW GLOBAL STATUSとSHOW GLOBAL VARIABLESが表示され、アクティビティや構成要求の分析を可能にすることができます。それは初めてのラウンド正しく行われた場合は忙しい時間の間にあなたのGENERAL_LOGの3分の...これらのクエリをリファクタリング...興味深いものになるだろうとなど

関連する問題