ما هي أفضل طريقة لقياس أوقات تحميل الصفحة الجانبية العميل؟

StackOverflow https://stackoverflow.com/questions/547458

سؤال

أنا أتطلع إلى مراقبة تجربة المستخدم النهائي لموقعنا وربط أنه مع معلومات توقيت تسجيل الدخول بالفعل على جانب الخادم. افتراضي هو أن هذا سيتطلب جافا سكريبت لالتقاط الطوابع الزمنية في بداية الطلب (النافذة.OnBeforeunLoad) وفي نهاية التحميل (window.onload). أساسا هذا - "قياس وقت استجابة تطبيق الويب: تلبية العميل"

  1. هل هناك طريقة أفضل؟
  2. ما نوع عقوبة الأداء يجب أن أتوقعه (ترتيب الحجم)؟
  3. ما مدى جودة النتائج؟
هل كانت مفيدة؟

المحلول

تحرير (2013): حاول boomerang. بدلا من ذلك، مثل yasei-no-umi يقترح. انها الحفاظ بنشاط.

- الإجابة القديمة -

نحن نستخدم جيفي.

من السهل الاستخدام وتعديله - كتبنا كود جانب الخادم الخاص بنا (بدلا من Apache + Perl Jiffy) واستخدم JIFFY's JS.

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

نصائح أخرى

يوجد ايضا boomerang. من ياهو.

لديه بعض الميزات المتقدمة غير موجودة في jiffy والحلقات. ودعم أيضا توقيت الملاحة API في المتصفحات التي تدعمها (Chrome 6، IE 9)

من أجل اكتمال، يمكنك الآن استخدام API توقيت الملاحة في بعض عصري المتصفحات: https:/developer.mozilla.org/en-us/docs/navigation_timing.

function onLoad() { 
  var now = new Date().getTime();
  var page_load_time = now - performance.timing.navigationStart;
  console.log("User-perceived page loading time: " + page_load_time);
}

3rd الطرف تحرير

مرتكز على Caniuse.com التنقل توقيت. مدعومة على نطاق واسع اليوم (10/2016)

ماذا عن الاستفادة من شيء مثل yslow. (امتداد فايرفوكس)؟

بديل ل جيفي يكون الحلقات.

كلاهما ينطوي على تصنيع جافا سكريبت الخاص بك لتتبع توقيت مختلف، وتسجيل تلك التوقيت على خادم مركزي.

لدينا "استدعاء" (صورة GIF شفافة 1 × 1 مع معلمة تمثل المعرف لتقديم الصفحة) في الصفحة التي تقوم بتسجيل الدخول "صفحة" إلى قاعدة بياناتنا. هذا هو السجلات بنفس المعرف الذي تم تسجيل صفحة الصفحة نفسها، ولدينا إدخال سجل عند انتهاء التقديم لدينا.

لذلك لدينا وقت:

  • بدأ إعداد الصفحة
  • إعداد الصفحة / استجابة الانتهاء
  • اتصل بالعميل - المنزل عند الانتهاء

يساعد في فهم العملاء الذين "بطيئة" (وحدة المعالجة المركزية أو مزود خدمة الإنترنت / النطاق الترددي)

PS Page Renders التي لا تتصل بالمنزل هي فائدة أيضا - النقر فوق المستخدم (على افتراض أن تقدم الصفحات الأخرى في تلك الجلسة سجلت منزل الهاتف)

أنا مشكوك فيه من هذه الأساليب. بعض هذه الأساليب أكثر تعقيدا من اللازم وأنا أشكك بدقة هذه البيانات. ما سأفعله هو الحصول على اختبار للشبكات المختلفة واستخدام شيء مثل Firebug أو أي شيء:

http://getfirebug.com/

من أجل هيك منه؛ فيما يلي ورقة مثيرة للاهتمام تم تقديمها مؤخرا إلى SOSP على أداة تسمى AJAXSCOUPE. ومن المثير للاهتمام، من المثير للاهتمام، إنها مقالة علمية، قدمها MS Research، التي تعرض تنفيذ جافا سكريبت Firefox يؤدي عدة مرات أفضل من Internet Explorer في حالات قليلة. :)

http://research.microsoft.com/en-us/groups/rad/rad/sosp07.pdf.

نحن نميل إلى استخدام مزيج من:

ثعلب النار:شريط أدوات مطور الويب Firebug. yslow.

بمعنى آخر:العابث

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top