6
यदि मैं एक ही यूआरएल पर दो HTTP अनुरोध करता हूं, तो केवल एक एचटीपी क्लाइंट और वॉली के साथ दूसरा, वॉली अनुरोधों में अधिक समय लगता है।वॉली: http अनुरोध धीमा
उदाहरण के लिए, अपने परीक्षण वातावरण में:
- HttpClient का उपयोग कर के बारे में सीधे 250ms
- वॉली का उपयोग कर के बारे में 750ms
एक है google.com अनुरोध करने के लिए औसत google.com औसत अनुरोध करने के लिए नमूना के लॉग डंप वॉली अनुरोध:
11:44:14.766: D/Volley(863): [1] MarkerLog.finish: (773 ms) [ ] http://google.com 0xa46e044c NORMAL 1
11:44:14.766: D/Volley(863): [1] MarkerLog.finish: (+0 ) [ 1] add-to-queue
11:44:14.786: D/Volley(863): [1] MarkerLog.finish: (+0 ) [93] cache-queue-take
11:44:14.786: D/Volley(863): [1] MarkerLog.finish: (+7 ) [93] cache-hit-expired
11:44:14.796: D/Volley(863): [1] MarkerLog.finish: (+1 ) [97] network-queue-take
11:44:14.806: D/Volley(863): [1] MarkerLog.finish: (+722) [97] network-http-complete
11:44:14.806: D/Volley(863): [1] MarkerLog.finish: (+20 ) [97] network-parse-complete
11:44:14.816: D/Volley(863): [1] MarkerLog.finish: (+16 ) [97] network-cache-written
11:44:14.826: D/Volley(863): [1] MarkerLog.finish: (+0 ) [97] post-response
11:44:14.836: D/Volley(863): [1] MarkerLog.finish: (+7 ) [ 1] done
जैसा कि आप कर सकते हैं देखें, बाधा वास्तविक HTTP अनुरोध में है। यह इतना धीमा क्यों है?
निश्चित रूप से कैशिंग को वॉली को धीमा नहीं करना चाहिए। – Intrications
यह केवल पहली बार धीमा है। अगली बार फिर से यह एक और http लेनदेन शुरू करने के बजाय कैश से प्रतिक्रिया का उपयोग करेगा। –
वॉली लॉग में, यह दिखाता है कि कैश प्रतिक्रिया का पुन: उपयोग नहीं किया जा रहा है (कैश-हिट-समाप्त हो गया) और इसे जांचने में केवल 7ms लगते हैं। लेकिन वास्तविक http अनुरोध 722ms लेता है। कैश लिखना 16 एमएमएस लेता है। तो मुझे नहीं लगता कि कैशिंग समस्या है। – Intrications