it-swarm.asia

Ev (neden) diğer sayfalardan daha yavaş?

Yavaş yükleme süreleri olan bir wordpress web sitesi ayarlamaya çalışıyorum ve ana sayfanın yüklenmesi daha uzun sürdüğünü öğrendim. İçerik nedeniyle değil, çünkü temel isteğin bitmesi için gereken süreyi düşünüyorum (firefox'ta firebug ile görüntülenebilir).

Ayrıca, index.php kodunu özel bir sayfaya kopyalamayı denedim ve aynı ana kod yaklaşık 1 saniye içerisinde yüklenirken, ana ev yaklaşık 7 saniye yüklenirken, tek sayfaların daha hızlı yüklendiğini fark ettim ve ilk başta bunun neden olduğunu düşündüm. içerikteki fark, ancak bu testten sonra buna neyin sebep olduğundan emin değilim.

Wordpress'in sadece ana indeks için sahne arkasında yaptığı pek çok şey var mı? Bu durumu açıklamanın ve daha da önemlisi, ana sayfanın daha hızlı yüklenmesini sağlamanın başka bir yolu var mı?

GÜNCELLEME - KİRLİ ÇÖZÜM

Çok fazla kör denemeden sonra, ev olarak adlandırılan, özel şablon olarak index.php kullanan (kopya değil, aynı dosya) yeni bir sayfa oluşturdum. Herhangi bir çağrıyı ana yola yönlendirdim (wordpress 'dahili yeniden yazma yoluyla) ve zamanın 1/6'sına yüklenen, daha önce olduğu gibi aynı ana sayfaya sahibim. Sonuçtan memnun olsa da, neler olduğunu gerçekten anlamak isterim.

BİR GÜNCELLEME

Demek istediğim, bu site ile dinamik (wordpress 'anlamda) bir sayfa kullanamıyorum, sadece çeşitli fonksiyonlar aracılığıyla içerik ekliyorum, sadece normal bir döngü ev yapıyor. yavaş (yüksek hafıza sınırı ile) veya sadece boş (düşük hafıza sınırı, script başarısız).

Bu soruda önerildiği gibi , özel bir sayfaya bağlı statik bir ev oluşturdum ve iyi çalışıyor. Aynı zamanda iyi çalışan bir blog sayfası (yine özel bir şablonla) de hazırladım (burada "iyi", sadece bir Word içeren ve kod içermeyen boş test sayfamı gösterir) "Yazılar sayfası" olarak belirtmediğim sürece admin -> Okuma ayarları. Başka bir deyişle, wordpress dinamik bir sayfa görürse (ana Döngüyü tutması gereken) çok fazla şey tüketen çok ağır bir şey yapar.

Hala bunun nedenini arayarak, bunun üzerinde çalışabilirim ama gerçekten sorunun ne olduğunu anlamak istiyorum.

Düzenleme: ödül eklendi

Daha fazla bilgi: Tüm eklentileri devre dışı bırakmayı denedim, wordpress en son sürüme güncellendi.

DAHA FAZLA EDİT: TABLO ENDEKSLERİ

wp_posts:

PRIMARY KEY  (`ID`),
KEY `type_status_date` (`post_type`,`post_status`(1),`post_date`,`ID`),
KEY `post_status_date_gmt` (`post_status`(1),`post_date_gmt`),
KEY `post_date` (`post_date`),
KEY `post_date_gmt` (`post_date_gmt`),
KEY `post_parent` (`post_parent`),
KEY `post_name` (`post_name`),
KEY `post_status` (`post_status`),
KEY `post_author` (`post_author`),
FULLTEXT KEY `post_related` (`post_name`,`post_content`),
FULLTEXT KEY `post_content` (`post_content`,`post_title`),

wp_term_relationships:

PRIMARY KEY  (`object_id`,`term_taxonomy_id`),
KEY `term_taxonomy_id` (`term_taxonomy_id`)

wp_term_taxonomy:

PRIMARY KEY  (`term_taxonomy_id`),
UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`),
KEY `taxonomy` (`taxonomy`)
6
Matteo Riva

Neredeyse 4 yıl sonra buna geri döndüm ve sonunda sorunu buldum. Sitenin, TÜM yapışkan olarak işaretlenmiş birçok makalesi olduğu ortaya çıktı. Wordpress'in yapışkan direkleri (wp_options'da seri hale getirilmiş bir dizi) işaretlemek için kullandığı inanılmaz derecede aptalca yoldan dolayı, dinamik ana sayfanın ana döngüsü inanılmaz uzun zaman aldı. Tablodaki sticky_posts alanını temizlemek sorunu çözdü.

2
Matteo Riva

Önceki iki yorum ile farklı olmak için yalvarıyorum.

Statik bir giriş sayfasının kullanılması, gönderiler tablosunun birincil anahtarında dizin taramasının kullanılmasıyla WP ile sonuçlanır, gönderiler tablosunda post_date, status veya post_parent dizininde bir (yani bu arada) dizin taraması yapılır.

Temelde, ana sayfa WP'deki zayıf veritabanı tasarımından dolayı yavaş. Şema, anlamlı miktarda gönderi sahibi olduğunuzda MySQL'in basitçe görmezden geldiği taksonomi tablolarında gülünç çok noktalı dizine sahiptir. Taksonomiler için çok fazla masa kullanmamız da yardımcı olmuyor.

Veritabanına, dizinleri güvenle ekleyin:

CREATE INDEX extra_posts ON posts (post_type,post_status,post_date DESC)
CREATE INDEX extra_term_rel ON term_relationships(term_taxonomy_id,object_id)
CREATE INDEX extra_term_tax ON term_taxonomy(taxonomy,term_taxonomy_id,term_id)

Mükemmel olmayacak, ama en azından WP ön sayfanızda indeks tabanlı iç içe döngü planları kullanabilecek ...

Oh, ve ... eğer ön sayfanızda herhangi bir özel yazı tipi kullanıyorsanız, aşağıdakileri de eklemeniz gerekir:

posts(post_status,post_date DESC)

Aksi halde, ana dizin için OR cümlecikleri nedeniyle hiçbir dizin kullanılmayacak.

7

Varsayılan olarak, giriş sayfasının performansı için bir fark yoktur. Bununla birlikte, bazı eklentilerin bu sayfada tek başına yavaşça bir şeyler yapması olasılığı vardır.

Profil WP performansına yönelik pek çok eklenti var. Genelde WP Tuner kullanıyorum, ancak en son WP sürümü için kırılmış görünüyor, bu yüzden önermek için anında bir değişiklik yapmam yok.

En basit yol, zaman/bellek kalemleriyle dolu şablonu paketlemektir.

printf(  '%d queries in %.3f seconds, using %.2fMB memory', get_num_queries(), timer_stop( 0, 3 ), memory_get_peak_usage() / 1024 / 1024 );

Ham, ancak yavaşlamanın gerçekleştiği yeri tam olarak belirlemenizi sağlar.

5
Rarst

İlk önce, WOrdPress'in ve ekindeki resimlerin, senaryoların ve stil sayfalarının sorgularını kontrol edin. Sorguları eklenti ile kontrol edebilirsiniz Debug Sorguları ve kurulumunuz hakkında daha fazla bilgi edersiniz ve - Debug Objects eklentisi ile hata yaparsınız.

0
bueltge

Ana sayfanın yüklenmesi bu kadar uzun sürüyorsa, büyük olasılıkla ana sayfa oluşturulurken bir süre içinde uzaktan istek yapan bir eklenti veya işlev görürsünüz.

Wp-content dizininizde 'wp_remote_' çağrıları için yinelenen bir arama yapacağım ve buna neden olabilecek herhangi bir işlevi arayacağım.

0
prettyboymp