web-dev-qa-db-ja.com

認証済みユーザーのサイト速度とキャッシュを改善する

イントラネットサイトを構築しています。サーバー認証モジュールを介してシングルサインオンでサイトをセットアップしました。これは、匿名ユーザーがいないことを意味します。これは、キャッシュの大部分が役に立たないことを意味します。

これでサイトは希望どおりに設定されましたが、サイトに数時間アクセスされていない場合、最初の数ページのロードでサイトの実行が非常に遅くなります。数ページを見た後、速度はバックアップを選択します。

これで、スケジュールされたタスクで2時間ごとに実行されるcronがセットアップされたので、cronがサイトの速度を低下させていないことがわかりました。私はDevelモジュールを有効にしており、一部のクエリは明らかに速度を低下させており、これらの多くはキャッシュに関連しているようです。

以下は、今朝最初にサイトのホームページにアクセスしたときに実行された100ミリ秒を超えるクエリのすべてです。 (ミリ秒単位の速度とそれに続くタスク)

421.91 system_list
890.69 DrupalDatabaseCache::set
171.89 DrupalDatabaseCache::getMultiple
125.01 DrupalDatabaseCache::getMultiple
125.01 PagerDefault::execute
125.01 DrupalDatabaseCache::getMultiple
109.38 comment_num_new
390.65 DrupalDatabaseCache::getMultiple
140.64 ctools_export_load_object
187.51 DrupalDatabaseCache::set
328.15 DrupalDatabaseCache::getMultiple
421.91 admin_menu_tree_dynamic
390.65 admin_menu_tree_dynamic
1000.07 DrupalDatabaseCache::getMultiple
421.91 DrupalDatabaseCache::getMultiple
578.17 DrupalDatabaseCache::set
281.27 menu_get_item
343.77 statistics_exit
140.64 _drupal_session_write

明らかに、ここにはサイトを遅くするのに十分な数があります。しかし、真実を言えば、a)上記のすべてが実際に意味することをデコードする方法、およびb)いずれかについて何をするかについての手掛かりはあまりありません。

私は、アドバイスや、誰もが私に与えることができる正しい方向に向けることに感謝します。

2
gdhp

パフォーマンスの基本のいくつかをカバーするプレゼンテーションを作成しました https://docs.google.com/presentation/d/1AgnurTWsWdMAFjfFmSU7mk2zfJu8jG_KmVdZ7-o6Pok/edit#slide=id 。あなたのケースでは、コアのpoormans cronが無効になっていることを確認し、データベース接続にIPを使用し(IISでは非常に重要です)、何らかのopコードのキャッシュが有効になっていることを確認して、 このガイド =(基本的なデータベースチューニングのプレゼンテーションにリンクされています)drupalレベルでデータベースの問題を修正し、MySQLのデフォルトもいくつか調整してください。

4
mikeytown2

MySQLの最適化も確認してください。ここにあなたが始めるためのいくつかのリンクがあります。

0
Joe Mewes