如何解决memcached连接数过高导致后续连接失败的问题

2025-04-06 07:11:01
推荐回答(1个)
回答1:

一、下载MemercachedForWindows二、安装步骤1、解压到指定目录,如:C:\Memcached\memcached-win32-1.4.4-14。2、用cmd打开命令窗口,转到解压的目录,输入“memcached.exe-dinstall”。3、打开控制面板,打开服务,可以看到memcached已经在上面可,如果没有启动,则手动启动一下。4、使用telnet命令验证缓存服务器是否可用。开始什么都不显示,回车后输入命令stats查看统计信息,说明服务器运作正常。三、参数介绍1、以上的安装和启动都是在默认环境下进行的,在安装时可设置如下参数:-p监听的端口-l连接的IP地址,默认是本机-dstart启动memcached服务-drestart重起memcached服务-dstop|shutdown关闭正在运行的memcached服务-dinstall安装memcached服务-duninstall卸载memcached服务-u以的身份运行(仅在以root运行的时候有效)-m最大内存使用,单位MB。默认64MB-M内存耗尽时返回错误,而不是删除项-c最大同时连接数,默认是1024-f块大小增长因子,默认是1.25-n最小分配空间,key+value+flags默认是48-h显示帮助如:“memcached-dinstall-l127.0.0.1-m1024-c2048”。2、如果在安装时没有添加参数,可通过修改注册表信息进行设置,打开注册表,找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached在其中有一个“ImagePath”项,值为:"C:\Memcached\memcached-win32-1.4.4-14\memcached.exe"-drunservice在后面加上“-m1024-c2048”。如下图:3、输入stats命令后,页面出现的参数介绍。STATpid4356服务器进程IDSTATuptime56625服务器运行时间,单位秒STATtime1225249079服务器当前的UNIX时间STATversion1.1.0服务器的版本号STATpointer_size64STATrusage_user151.845489该进程累计的用户时间(秒:微妙)STATrusage_system121.667603该进程累计的系统时间(秒:微妙)STATibuffer_size4096STATcurr_connections13连接数量STATtotal_connections54136服务器运行以来接受的连接总数STATconnection_structures318服务器分配的连接结构的数量STATcmd_get100595取回请求总数STATcmd_set6510存储请求总数STATget_hits96543请求成功的总次数STATget_misses4052请求失败的总次数STATbytes_read4427679服务器从网络读取到的总字节数STATbytes_written6585596服务器向网络发送的总字节数 备注:uptime是memcached运行的秒数,cmd_get是查询缓存的次数。cmd_get/uptime得到平均每秒请求缓存的次数。cmd_set是设置key=>value的次数。整个memcached是个大hash,用cmd_get没有找到的内容,就会调用cmd_set写进缓存里。get_hits是缓存命中的次数,缓存命中率=get_hits/cmd_get*100%。get_misses加上get_hits等于cmd_get。total_itemscurr_items表示现在在缓存中的键值对个数。total_items==cmd_set==get_misses,不过当可用最大内存用光时,如果memcached设置为删掉内容,上面的等式就不成立了。