के हेडर और बॉडी के बीच यादृच्छिक विलंबता हम अपने नोड जेएस सर्वर को सरल POST अनुरोध भेजने के लिए NSUrlConnection sendAsynchronousRequest का उपयोग कर रहे हैं। Tcpdumps का विश्लेषण करके, हमने देखा है कि कभी-कभी अनुरोध शीर्षलेख और अनुरोध निकाय को 2 अलग-अलग टीसीपी पैकेट में विभाजित किया जाता है।पोस्ट
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:url]];
[request setTimeoutInterval:3];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-type"];
[request setHTTPBody:postData];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler: ^(NSURLResponse *response, NSData *POSTReply, NSError *error) { }];
समस्या यह है कि कभी-कभी हेडर सर्वर है, जो हमारे API में एक कनेक्शन खोलता है, और फिर कई सेकंड बाद शरीर पैकेट भेज दिया जाता है के लिए भेजा जाता है। हम हेडर और बॉडी के बीच एक> 1 सेकंड देरी देख रहे हैं, सर्वर पक्ष पर यादृच्छिक रूप से हर सौ अनुरोध। यह हमारे एपीआई पर विलंबता का सबसे बड़ा स्रोत है।
अधिकांश अनुरोधों के लिए, शीर्षलेख और शरीर एक ही आकार (प्रत्येक 200 बाइट्स) के बारे में हैं।
क्या किसी ने इसे पहले देखा है?
मुख्य कतार में http अनुरोध न भेजें। – x4snowman