كيف يؤثر مستوى التصحيح (0-99) في Tomcat server.xml على السرعة؟

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

  •  01-07-2019
  •  | 
  •  

سؤال

يحتوي server.xml الذي يتحكم في بدء تشغيل حاوية servlet الخاصة بـ Apache Tomcat على سمة تصحيح الأخطاء لكل مكون رئيسي تقريبًا.تعد سمة التصحيح أكثر أو أقل تفصيلاً اعتمادًا على الرقم الذي قدمته لها، حيث يكون الصفر هو الأقل و99 هو الأكثر تفصيلًا.كيف يؤثر مستوى التصحيح على سرعة Tomcat عند خدمة أعداد كبيرة من المستخدمين؟أفترض أن الصفر سريع وأن 99 أبطأ نسبيًا، لكن هل هذا صحيح؟إذا لم تكن هناك أخطاء يتم طرحها، فهل يهم؟

هل كانت مفيدة؟

المحلول

يستغرق التسجيل الموسع قدرًا كبيرًا من الوقت.هذا هو السبب في أنه من المهم جدا أن نضع

if (log.isDebugEnabled())
  log.debug(bla_bla_bla);

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

نصائح أخرى

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

هذا هو السبب في أن إخراج التسجيل يمكن أن يكون مطولًا للغاية.وأنا حقا يقصد الذي - التي.أتذكر ضبط مستوى السجل الخاص بـ Catalina على TRACE مرة واحدة وانتهى الأمر بملف سجل يبلغ حجمه عدة ميغابايت.كان ذلك قبل تلقى الخادم أي نتائج على الإطلاق.لقد كان خنزير أداء ضخم.يمكن عدها في عدة ثوان.

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

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

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