
تحدثنا عن هذه التقنية في
الجزء الأول من المقالة ، في هذا الاختبار نحن HTTPS ، ولكن في سيناريوهات أكثر واقعية. للاختبار ، تم استلام شهادة Let's Encrypt ، وتم تمكين ضغط Brotli بنسبة 11.
هذه المرة سنحاول إعادة إنتاج سيناريو نشر الخادم على VDS أو كجهاز ظاهري على مضيف باستخدام معالج نموذجي. للقيام بذلك ، قم بتعيين الحد الأقصى على:
- 25 ٪ - والتي من حيث تردد ~ 1350MHz
- 35 ٪ - 1890MHz
- 41 ٪ - 2214MHz
- 65 ٪ - 3510MHz
انخفض عدد الاتصالات لمرة واحدة من 500 إلى 1 و 3 و 5 و 7 و 9 ،
النتائج:
تأخير:
تم تصنيع TTFB خصيصًا كاختبار منفصل ، لأن أدوات HTTPD تنشئ مستخدمًا جديدًا لكل طلب فردي. لا يزال هذا الاختبار منفصلًا تمامًا عن الواقع ، لأن المستخدم ينقر على صفحتين على أي حال ، وفي الحقيقة سوف يلعب TTFP الدور الرئيسي.
الأول ، وعمومًا الطلب الأول ، بعد بدء التشغيل الأول للجهاز الظاهري ، يعالج IIS متوسط 120 مللي ثانية.
جميع الطلبات اللاحقة تظهر TTFP تبلغ 1.5 مللي ثانية. اباتشي و Nginx متخلفين. شخصياً ، يعتبر المؤلف أن هذا الاختبار هو الأكثر كشفًا وسيختار الفائز فقط عليه.
النتيجة ليست مفاجئة ، لأن IIS يخبئ بالفعل محتوى ثابت مضغوط ولا يقرصه في كل مرة يتم الوصول إليه.
الوقت الذي يقضيه في عميل واحد
لتقييم الأداء ، يكفي إجراء اختبار باستخدام اتصال لمرة واحدة.
على سبيل المثال ، أكمل IIS الاختبار بطول 5000 مستخدم في 40 ثانية ، وهو 123 طلبًا في الثانية.
توضح الرسوم البيانية أدناه الوقت حتى النقل الكامل لمحتوى الموقع. هذه هي النسبة المئوية للطلبات المكتملة في وقت محدد. في حالتنا ، تمت معالجة 80 ٪ من جميع الطلبات في 8ms على IIS و 4.5ms على Apache و Nginx ، وتم تنفيذ 98 ٪ من جميع الطلبات على Apache و Nginx خلال فاصل زمني قدره 8 ميلي ثانية.
الوقت المستغرق في معالجة 5000 طلب:
الوقت المستغرق في معالجة 5000 طلب:
إذا كان لديك جهاز افتراضي مزود بمعالج 3.5 جيجاهرتز و 8 مراكز ، فاختر ما تريد. جميع خوادم الويب متشابهة جدًا في هذا الاختبار. سنتحدث عن خادم الويب الذي سيتم اختياره لكل مضيف أدناه.
عندما يتعلق الأمر بموقف أكثر واقعية بعض الشيء ، فإن جميع خوادم الويب تعمل وجهاً لوجه.
الإنتاجية:
جدول التأخير في عدد الاتصالات المتزامنة. أكثر سلاسة وأقل هو أفضل. تم طرد الـ 2٪ الأخيرة من الرسوم البيانية لأنها ستجعلها غير قابلة للقراءة.
الآن النظر في الخيار حيث يتم استضافة الخادم على استضافة مشتركة. تأخذ 4 النوى في 2.2 غيغاهرتز ونواة واحدة في 1.8 غيغاهرتز.
كيف الحجم
إذا سبق لك أن رأيت كيف تبدو خصائص I - V لثلاثيات الفراغ الكهربائي ، والأقواس ، وما إلى ذلك ، فستكون هذه الرسوم البيانية مألوفة بالنسبة لك. هذا هو ما نحاول اللحاق به - الشبع. الحد الأقصى هو ، عندما لا ترمي عدد النوى ، لن يكون نمو الإنتاجية ملحوظًا.
في السابق ، كان التحدي بأكمله هو معالجة 98٪ من الطلبات بأقل تأخير على جميع الطلبات ، للحفاظ على المنحنى قدر الإمكان. الآن ، باستخدام إنشاء منحنى آخر ، نجد نقطة التشغيل المثلى لكل من الخوادم.
للقيام بذلك ، تأخذ الطلبات في الثانية (RPR) قياس. التردد الأفقي ، العمودي - عدد الطلبات التي تتم معالجتها في الثانية ، والخطوط - عدد النوى.
يظهر ارتباط لكيفية معالجة Nginx للطلبات واحدًا تلو الآخر. 8 النوى في مثل هذا الاختبار تظهر أنفسهم بشكل أفضل.
يوضح هذا الرسم البياني بوضوح كيف يعمل Nginx بشكل أفضل (وليس كثيرًا) على نواة واحدة. إذا كان لديك Nginx ، فيجب أن تفكر في تقليل عدد المراكز إلى واحد إذا كنت تستضيف الإحصائيات فقط.
على الرغم من أن معهد الدراسات الإسماعيلية لديه أدنى TTFB وفقًا لـ DevTools في Chrome ، إلا أنه قادر على خسارة كل من Nginx و Apache في معركة خطيرة ضد اختبار الإجهاد من مؤسسة Apache.
يتم نسخ كامل انحناء الرسوم البيانية بالقطار.
نوع من الاستنتاج:
نعم ، يعمل Apache بشكل أسوأ على النواة 1 و 8 ، وفي 4 يعمل بشكل أفضل قليلاً.
نعم ، تتعامل Nginx على 8 مراكز مع طلبات أفضل واحدة تلو الأخرى ، على 1 و 4 مراكز ، وتعمل بشكل أسوأ عندما يكون هناك العديد من الاتصالات.
نعم ، يفضل IIS 4 مراكز للتحميل متعدد الخيوط ويفضل 8 مراكز للترابط المفرد. في النهاية ، كان معهد الدراسات الإسماعيلية أسرع قليلاً من جميع المراكز الثمانية تحت الحمل العالي ، على الرغم من أن جميع الخوادم قد انحسرت.
هذا ليس خطأ في القياس ، فالخطأ هنا لا يزيد عن + -1 مللي ثانية. في التأخير وليس أكثر من + - 2-3 طلبات في الثانية الواحدة ل RPR.
النتائج ، عندما تكون النوى 8 أسوأ ، ليست مفاجئة على الإطلاق ، فالعديد من النوى و SMT / Hyperthreading تؤدي إلى تدهور شديد في الأداء إذا كان لدينا إطار زمني يجب علينا إكمال خط الأنابيب بأكمله.
نحن نقدم تعريفة محدثة UltraLite
Windows VDS مقابل 99 روبل مع تثبيت Windows Server 2019 Core.
