Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Koneksi redis/batas ukuran buffer terlampaui

Saya dapat menduplikasi masalah yang sama dari batas ukuran buffer yang terlampaui menggunakan ServiceStack. Kode untuk melakukan stress testing ada di sini - jalankan 20 contoh aplikasi setidaknya selama 20 menit. https://github.com/ServiceStack/ServiceStack.Redis/commit/b01582f9c873f375794c04d46aad400590ca5bf3

Kesalahan pertama yang mungkin Anda lihat adalah "Tidak dapat terhubung ke instance redis" seperti yang dijelaskan oleh Redis tidak dapat terhubung dalam beban sibuk, tetapi jika Anda memperluas pengecualian dalam, Anda melihat "Operasi pada soket tidak dapat dilakukan karena sistem tidak memiliki buffer yang cukup ruang atau karena antrian penuh"

Masalah saya terjadi pada Window7, tetapi tidak pada Window Server 2008 rc. Jadi saya mulai melihat apakah itu masalah OS. Setelah mengirim email kepada Demis di ServiceStack, disimpulkan bahwa ServiceStack menutup soket dengan benar. Melihat OS, masalahnya diperbaiki dengan pengaturan TcpTimeWaitDelay dan MaxUserPort.

Lebih banyak referensi. TcpTimeWaitDelay hingga 45 detik

dan MaxUserPorthttp://mashijie.blogspot.com/2009/05/change-default-setting-of-tcp-ports.html

Saya menyesuaikan rentang port ke 1025-64511




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengapa Menggunakan Redis daripada MongoDb untuk Caching?

  2. json.loads dan Redis di python 3.5

  3. Gunakan Redis untuk menghasilkan ID unik dari jangkauan terbatas

  4. Menyiapkan ElastiCache Redis dengan Elastic BeanStalk + Django

  5. Berbagi soket melalui instance nodeJS yang terpisah