2017-02-10 6 views
12

मेरी समझ यह है कि एक अनुरोध संसाधित होने के लिए तैयार होने पर ASP.NET कोर मिडलवेयर चलाया जाता है। लेकिन यदि ऐप लोड हो रहा है और एएसपी.नेट कोर सभी अनुरोधों को संसाधित नहीं कर सकता है, तो उन्हें कहीं "कतार" में रखा जाता है? मुझे नहीं पता कि यह केस्ट्रेल के अंदर कुछ प्रबंधित कतार है या क्या यह libuv के साथ कुछ करने के लिए है।क्या केस्ट्रेल/एएसपी.नेट कोर में अनुरोध कतार में समय बिताने का कोई तरीका है?

मैं यह जानना चाहता हूं कि इस कतार में दिए गए अनुरोध को कितना समय दिया जाता है। क्या HttpContext पर कुछ है जो मुझे यह बता सकता है?

अग्रिम धन्यवाद

+0

ब्याज से, कतार का समय क्यों मायने रखता है? – DavidG

+0

क्योंकि मैं अपनी सेवा के लिए अनुरोध करने में खोए गए खोए गए समय को श्रेय देना चाहता हूं, जिनके लॉग अन्यथा तेज़ अनुरोध की रिपोर्ट करते हैं। उदाहरण के लिए मेरा ब्राउज़र क्लाइंट देख सकता है कि प्रतिक्रिया प्राप्त करने में 2 सेकंड लग गए, लेकिन मिडलवेयर से सभी लॉग कुल 200ms रिपोर्ट करते हैं। मुझे सबूत चाहिए कि 1.8 था। आपके ध्यान के लिए धन्यवाद :) – ChrisBellew

+0

और आपको क्या लगता है कि लापता समय अनुरोध कतार के कारण है? – DavidG

उत्तर

4

यह प्रश्न इतना आसान नहीं है।

यदि आप हर समय ट्रैक करना चाहते हैं, तो आपको बहुत सारे कदम उठाने होंगे। शुरुआत में अनुरोधों के लिए एक अद्वितीय टिकट या टिक जोड़ें, ताकि आप उन्हें एक-एक करके पहचान सकें। दूसरा, एक हैंडलर बनाएं, जो आपके अनुरोधों को रोकता है और समय लॉग करता है। तीसरा, प्रत्येक अनुरोध से संबंधित विधि में एक लॉगिंग बिंदु जोड़ें। चौथा - यह आश्चर्यचकित होगा - आप इस समय कम करने के लिए कुछ भी नहीं कर सकते हैं आईआईएस की थ्रेडिंग, समांतर अनुरोध, सत्र हैंडलिंग इत्यादि के संबंध में कॉन्फ़िगरेशन की अपेक्षा करें पांचवां - यदि आपका ब्राउज़र 2000 एमएस मापता है, तो आपका सर्वर 200 उपाय करता है एमएस, यह .NET कोर नहीं है, इसका आपका कोड/आर्किटेक्चर/कॉन्फ़िगरेशन है। आपको बुरी खबर बताने के लिए खेद है।

सिस्टम का उपयोग करें। डायग्नोस्टिक्स। स्टॉपवॉच कक्षा समय को मापने के लिए।

संबंधित मुद्दे

 संबंधित मुद्दे