我正在开发高性能的Web服务器,它应该能够处理大约2k的同时连接和40k QPS,从而实现<7ms的resp时间.
它的作用是查询Redis服务器(在同一主机上运行)并将响应返回给客户端.在测试期间,我观察到使用TCP STREAM_SOCKETs的实现比连接unix套接字更好.有大约1500个连接,TCP保持大约8ms,而unix套接字大约为50.
服务器是用C语言编写的,它基于常量Posix线程池,我使用阻塞连接到Redis.我的操作系统是CentOS 6,使用Jmeter,wrk和ab进行测试.对于与redis的连接,我使用hiredis lib提供了这两种连接Redis的方法.
据我所知,unix socket应该至少和TCP一样快.
有人知道可能导致这种行为的原因是什么吗?.我被卡住了.谢谢.