سؤال

أنا أعمل على تطبيق ويب يستخدم Perl و أنا بحاجة الى ان ننظر في تسريع أجزاء من التطبيق.

فكرت في أن أبدأ التنميط معين يدعو إلى جزء أود أن التحقيق.لقد قمت ببعض البحث على التنميط كود بيرل ، ولكن للأسف معظم ما أجد من يقول أن علي تشغيل كود بيرل مع -d:DProf myapp من سطر الأوامر.لا تعمل بالنسبة لي منذ البرمجية في التطبيق على شبكة الإنترنت.لم أجد وسيلة للحصول على التنميط للعمل مع أباتشي ، ولكن للأسف ، "الأكثر استخداما" الوحدات الذي عاد من التعريف كانت جميع وحدات CPAN -- الطبقة::xyz, الخ الخ الخ.ليست مفيدة بشكل رهيب.

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

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

المحلول

هل حاولت جمعة::NYTProf (أفضل بكثير من جمعة::DProf), التي يمكن أن تعمل تحت أباتشي ؟ التي خادم الويب الذي تستخدمه ؟ هل هذه الفانيليا CGI script, a mod_perl شيء, أو أي شيء آخر ؟

إذا كنت تفعل قاعدة البيانات الأشياء ، DBI::نبذة يمكن أن المعيار الاستفسارات الخاصة بك ، يتم عمل يحدث في برنامج آخر.

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

نصائح أخرى

إذا كنت تستخدم CGI.بعد الظهر, يمكنك تمرير الوسائط الخاصة بك perl على سطر الأوامر و CGI.مساء سوف تفسيرها كما لو كانوا تمرير المعلمات عبر HTTP.حتى إذا كنت التصحيح ، على سبيل المثال

http://example.com/scripts/example.pl?action=browse&search=grommet&restrict=blah

ثم هل يمكن أن مجرد دعوة من سطر الأوامر مثلا

perl -d:NYTProf documentroot/scripts/example.pl 'action=browse&search=grommet&restrict=blah'

يمكنك استخدام المعيار الوحدة الأساسية مع :hireswallclock الخيار إذا كنت تريد حقا أن الوقت الأمور داخليا.ولكن حقا, يجب أن تكون قادرة على الشخصية من سطر الأوامر.قد تحتاج إلى كتابة البرامج النصية اختبار محاكاة أجزاء معينة من CGI الطلب ، ولكن DProf يمكن للغاية مفيدة عندما تبحث عن اختناقات الأداء.

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

أنا أدرك أنها متأخرة قليلا في هذه النقطة, ولكن هذا هو واحد من الأسباب لماذا هو جيد لاستخدام CGI::التطبيق أو آخر العمارة في التطبيق على شبكة الإنترنت هو مجرد قصيرة جدا بت الويب التي تواجه الكود الذي يجعل من استخدام مجموعة من الوحدات التي كتبت لتنفيذ الفعلية وظائف.باستخدام هذا التصميم يجعل من اليسير جدا أن الملف (أو ببساطة اختبار) أي وحدات من سطر الأوامر ، إما بشكل فردي أو بشكل جماعي ، دون الحاجة إلى القلق حول شبكة الإنترنت جانبا.

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