web-dev-qa-db-ja.com

何千もの製品を持つWooCommerce - サイトは非常に遅いです - dbクエリを最適化しますか?

これまでのところ私は私のWooCommerceに約8,000の製品を持っています、そしてフロントエンドの製品ページはキャッシュすることの後でさえ、ロードするのに数秒かかります。

私のVPSホストは、私は複数のデータベースを持つべきだと言っています。
それは正しい方法であり、もしそうなら、どうすれば可能ですか。

私のデータベースクエリをスピードアップするか、単にフロントエンドをスピードアップすることに関するどんな提案も素晴らしいでしょう。

3
Stephen

これは本当にサーバーの質問であり、特にWordpressの問題ではありません。

あなたは1と1でMySQLサーバーのスピードボトルネックに遭遇しています。すみません、しかし、それらは遅い共有ホストとしてよく知られています、そしてその理由のために私は彼らのVPSがもっと良いとは思わない。

キャッシングとCDNはあなたのためにそれだけをするでしょう。より良い、より速いMySQLサーバーの形でもっと多くの馬力が必要です、そしてあなたがすでにVPSの代金を払っているなら、Media Templeのようなより良いVPSホストに移動してください。

Rootアクセスで、 http://mysqltuner.com などのユーティリティを使用してMySQLサーバーのパフォーマンスをログに記録して分析し、サーバーのメモリとデータベースクエリキャッシュのパラメータを設定ファイルmyに調整できます。 cnf。高負荷を処理するために、httpd.confでApacheを調整することもできます。

Woo CommerceまたはWordpressによるデータベースクエリを最適化しようとしても意味がありません。行った変更は更新後にもう一度行う必要があります。

1
markratledge

Varnishでキャッシュするのが最善の解決策ですが、ヘッダーカートスニペットとカート/チェックアウトページをキャッシュしないでください。 WooCommerceはVarnish Edge Side Includesで設定するべきだと思います。チェックアウトを除外するには、次の手順に従います。

http://docs.woothemes.com/document/configuring-caching-plugins/#section-3

0
retroriff

私はあなたが抱えている問題を解決するための二つの解決策を提案します。 elasticsearch.comを使用して、すべての商品インデックスを作成します。同時に、あなたはあなたのウェブサイトの検索能力を劇的に向上させます(正しく統合されていれば)。私はelasticsearchソリューションを別のサーバーに配置するようにします。

私の考えはあなたのキャッシングシステムが正しく設定されていないか、あなたのサーバーが過負荷であるということです。最も安いかもしれない解決策(オプション#2)はcloudflare.comから無料のキャッシュサーバを使うことでしょう。サーバーの最適化に対処したくない場合は、通常これが最も費用対効果の高い方法で問題を解決します。

0