it-swarm.asia

هل المكونات الإضافية للوزن الثقيل أو الكثير من المكونات الإضافية التي تجعل الموقع بطيئًا؟

لقد سمعت غالبًا أن وجود الكثير من الإضافات سيؤدي إلى إبطاء موقع WordPress. هذا منطقي بالطبع ، فكلما زاد عدد الشفرات التي يتم تنفيذها ، كلما طال الوقت.

أنا أتساءل ما إذا كان البطء في الغالب:

  • نتيجة العدد الهائل من الإضافات؟ (لأن WP يجب أن تقوم ببعض المعالجة لتحديد موقع كل مكون إضافي وتحميله)

  • نتيجة وجود بعض الإضافات البطيئة/الثقيلة؟

بشكل أكثر عملية ، عندما أكتب خاصتي ، هل يجب أن أقوم بدمج الوظائف في عدد أقل من الملفات لاكتساب السرعة؟ أم أنه من المقبول أن يكون لكل 10-20 من المكونات الإضافية القيام بمهمة سريعة؟

6
allclaws

العموميات

تعتبر قاعدة الإبهام " أن الكثير من الإضافات تبطئ موقعًا " أداة صريحة للغاية ويتم إدامتها من قبل أولئك الذين لا يفهمون كيفية عمل الإضافات بحيث يختارون شيئًا يسهل إبطاله.

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

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

تفاصيل

لذلك دعونا نتحدث المزيد من التفاصيل. تستخدم الإضافات " hooks " التي هي أجزاء من PHP الكود الذي يعمل بنقاط معينة على طول مسار التنفيذ ويمكنهم إما القيام بشيء ما أو تصفية قيمة أو كليهما. يبدأ WordPress في استدعاء السنانير في وقت مبكر في جهوده لإنشاء صفحة ويب وإنشاء HTML لإرساله إلى المتصفح ويستمر في استدعاء الخطافات تقريبًا حتى ينتهي تشغيله لصفحة معينة.

اعتمادًا على الخطافات التي يستخدمها البرنامج المساعد ، قد يتم استدعاؤها فقط في صفحات معينة ، في " الخلفية " أو حتى على الإطلاق تقريبًا. بعض السنانير تعمل فقط داخل وحدة تحكم المشرف. تعمل بعض الخطافات فقط داخل صفحات معينة من وحدة تحكم المشرف. وتسمى بعض السنانير بواسطة نظام psuedo-cron الداخلي . OTOH ، يمكن لبعض الإضافات تحميل ملفات CSS أو JS إضافية وكل من هذه الملفات يبطئ الأداء بسبب قاعدة أداء الويب # 1 .

إذا كنت ترغب في التعرف على ما يسمى السنانير في كل صفحة ، ففكر في استخدام " أداة ربط السنانير لـ WordPress "البرنامج المساعد كتبت للسؤال" أين يمكنني العثور على قائمة من ووردبريس الخطافات؟ "إليك لقطة شاشة لما يظهره المكون الإضافي في تذييل الصفحة عند استخدامه:

Screenshot of Instrument Hooks for WordPress Plugin in action

لكن مجرد معرفة الخطافات لن يساعدك على معرفة ما إذا كانت هناك مشكلة في مكون إضافي. يمكنك الاتصال بالمكون الإضافي 100 مرة ، وقد يكون الاتصال به ضئيلًا مقارنةً بمكالمة ربط أخرى تضيف جملة WHERE إلى استعلام SQL يمكن أن يتعطل موقعًا يحتوي على أكثر من بضع مئات من المنشورات. أو يمكن أن تفعل مكالمة HTTP إلى خادم آخر. أو قد يؤدي ذلك إلى مسح قواعد إعادة الكتابة في كل صفحة يتم تحميلها. قائمة الخطايا تطول.

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

الإضافات الخاصة بك

لا تقلق بشأن كيفية تنظيم الكود لأغراض الأداء ؛ تقلق بشأن ما يفعله الكود الخاص بك. تحسين استعلام SQL يعمل بشكل متكرر شراء الاستفادة من API عابر (انظر: سيكون العرض التقديمي حول API عابر ) أفضل بكثير بالنسبة للأداء من دمج رمز المكون الإضافي 10 في واحد.

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

Long List of Plugins
(المصدر: mikeschinkel.com )

ولكن من ناحية أخرى في بعض الأحيان ، يمكن أن يطغى المستخدمون لأن أحد المكونات الإضافية يفعل الكثير. على سبيل المثال ، شعرت بهذه الطريقة مع Gd Star Rating Plugin . بعد تجربته في مشروع (والأسوأ من ذلك ، محاولة ربطه لجعله يفعل ما أحتاجه) قررت إلقاء الأمر على أذنه.

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

Long List of Gd Star Rating Options
(المصدر: mikeschinkel.com )

على أي حال ، نأمل أن يساعد هذا.

8
MikeSchinkel

تعد Natural Plugins جزءًا واحدًا فقط من قصة الأداء ، لذلك لا يمكنك قياسها بعدد الملفات الموجودة في النهاية. هناك ما هو أكثر من ذلك ، ولا يمكنك تحديد ما ينجح مسبقًا ، لذا فإن الشيء الذي قد يكون جيدًا على جهاز الكمبيوتر الخاص بك ليس على الآخرين.

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

إذا كان أحد المستخدمين يشكو من أداء مدونته/مدونته ، فيمكنك عادة اقتراح أنه بإمكانهم فقط شراء خادم أكبر وحل مشكلات الأداء.

(قبل الناضجة) التحسين هو أصل كل الشرور. فقط لا تفكر في الأداء عند كتابة الإضافات. خذها بطريقة ساطعة ومشرقة: لم يتم تصميم WordPress أداءًا حكيماً في النهاية ، فلا تخطئ ، وحاول أن تكتب ملحقات إضافية له ؛)

تم تصميم WordPress باستخدام كرة كبيرة من الطين (نمط معاد) - تصميم . النظام المساعد هو نظام يعمل بشكل جيد للغاية معه. لا تظن أنه يمكنك تحسين ذلك بقدر مؤلف البرنامج المساعد. لا يمكنك ذلك. لا تحاربها :)

2
hakre

يمكنك استخدام WordPress مع مئات الإضافات ، عندما يكون تصميم الإضافات جيدًا - تحتوي معظم الإضافات على رمز سيئ وهذه هي مشكلة أداء WordPress.

0
bueltge

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

أفترض أنك تسأل هذا لأنك تعاني من تباطؤ؟ اسأل مضيفك عما إذا كان هناك أي شيء يمكنك القيام به لتسريعه ، وتأكد من ضبط تكوين php بشكل صحيح.

0
rfair404

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

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

ربما لن تلاحظ ذلك على استضافة مشتركة مع عرض الصفحات من 2-3 آلاف يوميًا ، ولكن إذا كان لديك موقع ويب به 3 آلاف مستخدم نشط أن كل منهم يطلب 10 صفحات كل يوم ، فقد يصبح ذلك مشكلة.

0
Lucian

أنت تنظر إلى شيئين من شأنه إبطاء موقعك: 1 ، المعالجة من الملفات إلى الخادم (الخوادم) ، php و 2 ، طريقة قراءة المتصفح للرمز.

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

ذكر rFair404 برامج التخزين المؤقت التي ستساعد في طلبات الخادم وبعضها سوف يقوم بضغط كود html وهذا يذكرني ، أحتاج لضغط بعض صفحات css.

0
javajoba

أود أن أقول أن الجواب هو على حد سواء .


المزيد من الإضافات = المزيد من البطء

كل مكون إضافي تقوم بتمكينه ويضيف صفحة أنماط و/أو ملف جافا سكريبت إلى الصفحة يؤدي إلى إبطاء موقعك الإلكتروني بشكل كبير.

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

دمج ملفاتك

إذا قمت بتشغيل موقع وورد ، فأنت مدين لنفسك لتعلم كيفية:

  • دمج ملفات جافا سكريبت بشكل صحيح معًا
  • دمج ملفات ورقة أنماط بشكل صحيح
  • نقل مكالمات جافا سكريبت من الرأس إلى التذييل

إذا قمت بتشغيل موقع WordPress ولا يمكنك القيام بالأشياء المذكورة أعلاه ، فيجب ألا تقوم بتشغيل موقع Wordpress ... أو على الأقل يجب ألا تتذمر عندما يتباطأ موقعك أثناء تحميل المزيد من الإضافات.

بالإضافة إلى ذلك ، يجب على أي شخص يقوم بتشغيل موقع Wordpress معرفة كيفية:

  • تصغير CSS وملفات جافا سكريبت
  • قم بتشغيل ضغط الخادم
  • تأكد من انتهاء صلاحية رؤوس البرامج النصية وأوراق الأنماط

الإضافات المكتوبة بشكل سيء = بطء أكبر

الطرق الرئيسية لمؤلف البرنامج المساعد لإبطاء موقعك الإلكتروني حقًا هي كما يلي:

  1. تحميل برامج نصية أو أوراق أنماط متعددة لصفحة واحدة - انظر أعلاه
  2. باستخدام قاعدة البيانات بشكل غير صحيح - يمكن أن يكون للاستعلامات المكتوبة بشكل سيء ، وتعديلات الاستعلام ، وما إلى ذلك ، تأثير خطير على موقع الويب. يمكن أن يؤدي الفشل في تخزين النتائج مؤقتًا قدر الإمكان إلى جعل الأمور بطيئة. معظم الناس تمتص في تطوير وإدارة قواعد البيانات. عندما يستخدم مثل هؤلاء الأشخاص قواعد البيانات ، فإن المشاكل تنشأ.
  3. استخدام wp cron بشكل غير صحيح - وظائف cron المستمرة في كل طلب مستخدم ستجلب الخادم إلى الركبتين.

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


المهام البطيئة بطبيعتها

هناك بعض الأشياء التي تكون بطيئة بصرف النظر عن مدى كتابتها بشكل جيد:

  1. استخدام خدمات الجهات الخارجية - في أي وقت يعتمد فيه رد المستخدم على استجابة من طرف ثالث ، يصبح موقعك أبطأ بكثير.

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

0
Privateer