it-swarm.asia

لماذا يكون المنزل (كثيرًا) أبطأ من الصفحات الأخرى؟

أحاول ضبط موقع ويب وورد يعاني من أوقات تحميل بطيئة ، واكتشفت أن الصفحة الرئيسية يبدو أنها تستغرق وقتًا أطول بكثير للتحميل. لا يرجع ذلك إلى المحتوى لأنني أفكر فقط في الوقت الذي يستغرقه إنهاء الطلب الأساسي (يمكن مشاهدته عبر firebug في firefox).

كما حاولت نسخ رمز index.php في صفحة مخصصة ، ويتم تحميل نفس الرمز الدقيق في حوالي ثانية واحدة بينما يتم تحميل الصفحة الرئيسية الرئيسية في حوالي 7. لقد لاحظت أن الصفحات المفردة يتم تحميلها بشكل أسرع ، وفي البداية اعتقدت أن ذلك يرجع إلى الفرق في المحتوى ، لكن بعد هذا الاختبار لست متأكدًا من سبب ذلك.

هل هناك الكثير من الأشياء التي يقوم بها WordPress وراء الكواليس فقط للمؤشر الرئيسي؟ هل هناك أي طريقة أخرى لشرح هذا الموقف ، والأهم من ذلك ، إصلاحه بحيث يتم تحميل الصفحة الرئيسية بشكل أسرع؟

UPDATE - DRTY SOLUTION

بعد الكثير من المحاولات العمياء ، قمت بإنشاء صفحة جديدة تسمى الصفحة الرئيسية تستخدم index.php كقالب مخصص (وليس نسخة ، نفس الملف). لقد قمت بإعادة توجيه أي مكالمة إلى المسار الأساسي إليها (عبر إعادة كتابة داخلية وورد) ولدي نفس الصفحة الرئيسية كما كان من قبل ، فقط تم تحميلها في 1/6 من الوقت. بينما أنا سعيد بالنتيجة ، أود حقًا أن أفهم ما يجري.

آخر تحديث

لذا يبدو أني لا أستطيع استخدام صفحة ديناميكية (بمعنى وورد) مع هذا الموقع ، فهي تعمل بشكل جيد فقط مع صفحة "ثابتة" مخصصة حيث أقوم بإدراج محتوى عبر وظائف مختلفة ، فالحلقة العادية تجعل المنزل إما غاية بطيئة (مع حد ذاكرة عالية) أو فارغة فقط (حد ذاكرة منخفضة ، فشل البرنامج النصي).

كما هو مقترح في هذا السؤال ، قمت بإنشاء منزل ثابت مرتبط بصفحة مخصصة ويعمل بشكل جيد. لقد أنشأت أيضًا صفحة مدونة (مرة أخرى باستخدام قالب مخصص) والتي تعمل أيضًا بشكل جيد (حيث يشير "بخير" إلى أنها تظهر صفحتي الاختبارية الفارغة التي تحتوي على كلمة واحدة فقط ولا تحتوي على رمز)إلاأحددها باسم "صفحة المنشورات" في المشرف -> قراءة الإعدادات. بمعنى آخر ، يبدو حالما ترى WordPress صفحة ديناميكية (الصفحة التي من المفترض أن تحمل The Loop الرئيسي) ، فهي تفعل شيئًا ثقيلًا للغاية يستهلك الكثير من الكبش.

ما زلت أبحث عن سبب هذا ، يمكنني حلها ولكني أود حقًا أن أفهم ماهية المشكلة.

تحرير: فضله المضافة

مزيد من المعلومات: لقد حاولت تعطيل جميع الإضافات ، يتم تحديث وورد بأحدث إصدار.

مزيد من التحرير: TABLE INDEXES

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

بعد ما يقرب من 4 سنوات ، عدت إلى هذا الأمر وأخيراً وجدت المشكلة. تبين أن الموقع يحتوي على الكثير من المقالات التي تحمل علامة "لزجة". نظرًا للطريقة الغبية التي لا تصدق والتي يستخدمها وورد لتمييز المشاركات اللزجة (مجموعة متسلسلة في wp_options) ، استغرقت الحلقة الرئيسية للصفحة الرئيسية الديناميكية وقتًا طويلاً بشكل لا يصدق. يؤدي مسح الحقل sticky_posts في الجدول إلى إصلاح المشكلة.

2
Matteo Riva

أتوسل إلى الاختلاف مع التعليقين السابقين.

يؤدي استخدام صفحة رئيسية ثابتة إلى WP باستخدام فحص فهرس على المفتاح الأساسي لجدول المنشورات ، مقابل مسح فهرس (يا غير متقطع) على post_date أو الحالة أو post_parent في جدول المنشورات.

في الجوهر ، الصفحة الرئيسية بطيئة للغاية بسبب سوء تصميم قاعدة البيانات في WP. يحتوي المخطط على فهارس متعددة الأعمدة مثيرة للسخرية في جداول التصنيف والتي يتجاهلها MySQL بمجرد أن يكون لديك قدر كبير من المنشورات. حقيقة أننا نستخدم جدولًا أكثر من اللازم للتصنيفات لا تساعد أيضًا.

في قاعدة البيانات ، أضف الفهارس بأمان على:

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)

لن يكون الأمر مثاليًا ، لكن على الأقل WP سيكون بإمكانه استخدام خطط حلقة متداخلة قائمة على الفهرس في صفحتك الأولى ...

أوه ، و ... إذا كنت تستخدم أي نوع من أنواع المنشورات المخصصة على صفحتك الأولى ، فأنت بحاجة أيضًا إلى إضافة:

posts(post_status,post_date DESC)

عدا ذلك ، لن يتم استخدام أي فهرس على الإطلاق للاستعلام الرئيسي بسبب جمل OR.

7
Denis de Bernardy

بشكل افتراضي ، لا يوجد أي اختلاف في أداء الصفحة الرئيسية. ومع ذلك ، هناك احتمال أن يقوم بعض البرنامج المساعد بعمل شيء بطيء على تلك الصفحة وحدها.

هناك الكثير من المكونات الإضافية لملف التعريف WP الأداء. عادةً ما أستخدم WP Tuner لكن يبدو أنه تم كسره مع أحدث إصدار WP ، لذلك ليس لدي بديل فوري أقترحه.

أبسط طريقة هي تعبئة قالب مليء بعلامات الوقت/الذاكرة.

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

إنه خام ولكن يسمح غالبًا بتحديد الموقع الذي يحدث فيه التباطؤ.

5
Rarst

في البداية ، تحقق من سؤال WOrdPress والصور والبرامج النصية وأوراق الأنماط المضمنة. يمكنك التحقق من الاستعلامات باستخدام المكون الإضافي Debug Queries وتصبح المزيد من المعلومات حول التثبيت والأخطاء مع المكون الإضافي Debug Objects .

0
bueltge

إذا كانت الصفحة الرئيسية تستغرق وقتًا طويلاً للتحميل ، فمن المحتمل أن يكون لديك مكون إضافي أو وظيفة في السمة التي تقدم طلبًا عن بُعد في وقت ما عندما يتم عرض الصفحة الرئيسية.

أود إجراء بحث متكرر من خلال دليل محتوى wp الخاص بك لإجراء مكالمات إلى 'wp_remote_' للبحث عن أي وظائف قد تسبب ذلك.

0
prettyboymp