Akhir-akhir ini, kami menyadari masalah koneksi TCP yang sebagian besar terbatas pada pengguna mac dan Linux yang menelusuri situs web kami.
Dari perspektif pengguna, ini menghadirkan dirinya sebagai waktu koneksi yang sangat lama ke situs web kami (> 11 detik).
Kami telah berhasil melacak tanda tangan teknis masalah ini, tetapi tidak dapat mengetahui mengapa itu terjadi atau bagaimana cara memperbaikinya.
Pada dasarnya, apa yang terjadi adalah bahwa mesin klien mengirimkan paket SYN untuk membuat koneksi TCP dan server web menerimanya, tetapi tidak merespons dengan paket SYN / ACK. Setelah klien mengirim banyak paket SYN, server akhirnya merespons dengan paket SYN / ACK dan semuanya baik-baik saja selama sisa koneksi.
Dan, tentu saja, kicker untuk masalah: itu berselang dan tidak terjadi setiap saat (meskipun itu terjadi antara 10-30% dari waktu)
Kami menggunakan Fedora 12 Linux sebagai OS dan Nginx sebagai server web.
Cuplikan layar analisis wireshark
Memperbarui:
Mematikan penskalaan jendela pada klien menghentikan masalah terjadi. Sekarang saya hanya perlu resolusi sisi server (kami tidak dapat membuat semua klien melakukan ini) :)
Pembaruan Terakhir:
Solusinya adalah mematikan penskalaan jendela TCP dan cap waktu TCP pada server kami yang dapat diakses oleh publik.