Menurut http://support.microsoft.com/kb/944884 , "ketika respons besar atau respons besar dikirim ke klien melalui koneksi jaringan yang lambat, nilai bidang yang diambil waktu mungkin lebih dari yang diharapkan".
Saya memiliki situasi di mana klien akan berkata, "Saya mengirim permintaan ke server web Anda pada 10:03:24 dan butuh 20 detik, mengapa?". Saya bisa melihat ini di log IIS juga, tetapi modul server ASP.NET mencatatnya sebagai mengambil 100 ms, dan penghitung CPU dan Disk rendah.
Saya menduga itu karena koneksi jaringan yang lambat. Bagaimana saya bisa membuktikan ini?
Memperbarui:
1) Ini adalah permintaan SOAP Web Service, oleh karena itu tidak ada grafik yang disematkan, hanya HTTP POST dengan satu halaman hasil XML.
2) Juga, saya telah mereproduksi ini dengan membatasi kecepatan jaringan di sisi klien dan gejalanya persis sama.
3) Masalahnya terputus-putus, artinya permintaan yang sama biasanya cepat untuk klien tetapi terkadang lambat. Saya tidak dapat mereproduksi ini sendiri selain dengan menekan jaringan. Pencatatan server ASP.NET menunjukkannya selalu cepat, tetapi pencatatan IIS menunjukkannya lambat ketika klien mengatakan itu lambat.
4) Saya hanya memiliki akses ke server, dan perlu memberikan informasi sebanyak mungkin kepada klien sehingga mereka menerima bahwa masalahnya bukan pada server dan tahu apa logging / alat untuk dijalankan pada klien untuk menemukan akar penyebab.
Jawaban:
Ini dimulai dengan mencari paket drop antara browser klien Anda dan semua sumber gambar / skrip / html untuk halaman web tersebut. Jika Anda menemukan penurunan paket yang konsisten, maka Anda tahu pasti ada sesuatu di jaringan yang perlu diperbaiki ... bahkan jika itu hanya tautan yang kelebihan beban. Paket tetes bukan satu-satunya alasan untuk jaringan yang lambat, tetapi itu adalah sumber paling umum dalam pengalaman saya. Sumber lain dapat berupa mesin proxy atau cache yang salah dikonfigurasi. Sayangnya, saya tidak dapat membuat daftar semua penyebab jaringan di sini.
Namun, orang sering menyalahkan jaringan, padahal sebenarnya masalah kecepatan berada dalam kendali mereka sendiri. Penjelasan yang mungkin:
Saya bisa melanjutkan, tetapi intinya adalah Anda harus menemukan alasan yang tepat mengapa halaman itu lambat sendiri. Jaringan yang cacat dimungkinkan; mungkin juga faktor-faktor lain berkontribusi terhadap kinerja yang lambat.
Untuk mendiagnosis lebih lanjut:
curl
hingga Anda menemukan sesuatu yang terlihat terlalu lambat, lalu cari tahu mengapa elemen tertentu itu lambat.BTW, contoh Chrome dan Firefox menggunakan kueri CGI dari Debian.org ; ini adalah contoh yang baik dari penundaan yang berasal dari pencarian CGI.
Ketika semuanya gagal, Anda bisa mendapatkan
.pcap
dari wireshark dan menjalankannyatcptrace
; Namun, sementaratcptrace
sangat baik menganalisis paket dumps, tidak ada jaminan bahwa Anda dapat mengisolasi masalah initcptrace
sendirian. Lihat jawaban ini untuk informasi tentang cara menggunakantcptrace
diagnostik.sumber
Hasil dari artikel kb 944884 adalah bahwa waktu aktual yang diperlukan untuk menyelesaikan respons mungkin tidak secara akurat tercermin dalam log. Itulah sebabnya artikel itu menyebutkan waktu jaringan.
Jika gejalanya dapat direproduksi, saya akan melakukan pengambilan paket di sisi server (dan lebih disukai sisi klien) untuk melihat waktu aktual koneksi diakui oleh klien.
sumber
Penundaan 20 detik juga bisa disebabkan oleh IIS harus me-restart itu w3wp.exe yang akan tidur ketika tidak digunakan.
sumber