ฉันใช้เซิร์ฟเวอร์แคช Redis บน CentOS โดยที่ Redis ยอมรับการเชื่อมต่อไคลเอ็นต์บนพอร์ต TCP การฟังที่กำหนดค่าไว้ ฉันกำลังพยายามหาข้อจำกัดที่ระบบปฏิบัติการนำไปใช้กับจำนวนการเชื่อมต่อที่อนุญาตไปยังพอร์ตเดียวที่กำหนดค่าไว้สำหรับ redis
ผู้ใช้ที่ใช้คือ ราก
ตามที่ปรากฏ:
[root@server-001]# ps -ef | grep -i redis
รูท 19595 1 9 มิ.ย. 26 ? 09:43:07 /usr/local/bin/redis-server 0.0.0.0:6379
ตอนนี้ฉันถูกหลอกด้วยปัจจัยหลายอย่าง:
อันดับที่ 1: ค่าของ file-max คือ:
[root@server-001]# cat /proc/sys/fs/file-max
6518496
อันดับที่ 2: มูลค่าของ limits.conf
:
[root@server-001]# cat /etc/security/limits.d/20-nproc.conf
# ขีดจำกัดเริ่มต้นสำหรับจำนวนกระบวนการของผู้ใช้ที่จะป้องกัน
#อุบัติเหตุส้อมระเบิด
# ดู rhbz #432903 สำหรับเหตุผล
* ซอฟต์ nproc 4096
รูตซอฟต์ nproc ไม่จำกัด
อันดับ 3: ขีดจำกัดซอฟต์และฮาร์ดของตัวอธิบายไฟล์:
[root@server-001]# ulimit -Hn
4096
[root@server-001]# ulimit -Sn
1024
ตอนนี้ ฉันรู้ว่าปัจจัยที่แท้จริงที่จำกัดการเชื่อมต่อกับพอร์ตเดียวคือตัวอธิบายไฟล์ ซึ่งฉันต้องเปลี่ยนเพื่อให้แน่ใจว่าเซิร์ฟเวอร์ redis ยอมรับไคลเอ็นต์มากที่สุดเท่าที่จะเป็นไปได้