- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
对于以下间歇性 Memcache 连接失败的可能原因的任何建议,我们将不胜感激:
Memcache::connect(): Server 127.0.0.1 (tcp 11211, udp 0) failed with:
Only one usage of each socket address (protocol/network address/port) is normally permitted.
据我所知,PHP 脚本仅在构建 Controller 时尝试打开连接,即没有多次尝试打开连接。该错误仅在尝试连接的地方报告。
我还查看了 memcached 统计数据,看起来没有错:
array(36) {
["pid"]=> string(4) "5788"
["uptime"]=> string(6) "731274"
["time"]=> string(10) "1533137924"
["version"]=> string(16) "1.4.5_4_gaa7839e
["pointer_size"]=> string(2) "64"
["curr_connections"]=> string(1) "2"
["total_connections"]=> string(8) "31881420"
["connection_structures"]=> string(3) "163"
["cmd_get"]=> string(8) "26219501"
["cmd_set"]=> string(8) "17532714"
["cmd_flush"]=> string(4) "1110"
["get_hits"]=> string(8) "25834764"
["get_misses"]=> string(6) "384737"
["delete_misses"]=> string(1) "5"
["delete_hits"]=> string(7) "1252043"
["incr_misses"]=> string(1) "0"
["incr_hits"]=> string(1) "0"
["decr_misses"]=> string(1) "0"
["decr_hits"]=> string(1) "0"
["cas_misses"]=> string(1) "0"
["cas_hits"]=> string(1) "0"
["cas_badval"]=> string(1) "0"
["auth_cmds"]=> string(1) "0"
["auth_errors"]=> string(1) "0"
["bytes_read"]=> string(11) "12021422144"
["bytes_written"]=> string(12) "163830241155"
["limit_maxbytes"]=> string(10) "4294967296"
["accepting_conns"]=> string(1) "1"
["listen_disabled_num"]=> string(1) "0"
["threads"]=> string(1) "4"
["conn_yields"]=> string(1) "0"
["bytes"]=> string(8) "89537575"
["curr_items"]=> string(5) "15811"
["total_items"]=> string(7) "2871704"
["evictions"]=> string(1) "0"
["reclaimed"]=> string(6) "570282"
}
系统在 Windows Server 上运行(如果影响)
最佳答案
This article 似乎可以解决问题。
It means that you are exhausting all the available network ports on the machine. By default the OS only has around 4000 ports available that are not reserved by the system. What happens is that when any network connection is closed it goes into a TIME_WAIT state for 240 seconds and cannot be reused until this wait state is over. So as an example, if there are 16 connections per second for 4 minutes (16*4*60=3840), you will exhaust all the ports shortly there after. Now if you have HAS and the MTA on the same machine, this will get exhausted a lot sooner because in addition to them communicating with each other, which uses 2 ports (one for the MTA and one for HAS), the MTA uses up a lot of ports sending the mail.
解决方法如下:
You can fix this by modifying the below values.
One of the ways is to increase the dynamic port range. The max by default is 5000. You can set this up to 65534.
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort
is the key to use.The second thing you can do is, once the connection does get into an TIME_WAIT state, you can reduce the time it is in that state. Default is 4 minutes, but you can set this to 30 seconds.
HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\TCPTimedWaitDelay
is the key to use.After these changes are made the system must be restarted.
如果失败,请尝试使用 resmon(一种鲜为人知的 Windows 资源监视器)来检查您的端口使用情况是否存在冲突服务。您可以从 Cortana 搜索框或命令 shell 访问它...
(我想将此归功于此,但这是团队的努力!)
最后,当您连接到 Memcache 时,通过 connect
方法的返回来检查您的连接是否成功是很有用的。如果使用 Memcache::add_server
,您可能必须采用不同的方法,因为此方法只会在第一次尝试访问内存缓存时发现连接失败。
关于php - Memcache 间歇性错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51637842/
我在Web应用程序中使用WebRTC进行音频播放。因为我是WebRTC的新手,所以我使用@https://webrtc.github.io/samples/src/content/peerconnec
上下文 我的 VBA 代码经常替换工作簿中的工作表。因此,我无法直接在工作表模块中使用代码,因为它最终会在此过程中被删除。 我使用用户定义的类来处理我的事件(强烈受到 Chip Pearson's w
我已经搜索过这个问题,如果这个问题已经得到解答,我深表歉意(我很高兴被重定向),但具体来说,我们的问题是间歇性的。 我们的客户提示当事件从我们的软件发送到他们的手机时,通知音频间歇性地没有“响起”。它
背景故事优先: 我们有一个正在运行的部署在尝试使用 JMeter 等工具对其进行负载测试时遇到间歇性 502。它是一个将 POST 数据记录到另一个容器上的 mysql 数据库的容器。它每秒处理大约
在向我托管的 https://网站发出简单的 GET 请求时,我不断收到间歇性 SecureChannelFailure 错误。没有错误进入服务器日志文件。每 100 次调用的频率小于 1 个错误,但
我正在通过 eval 运行一些 JavaScript(我知道,开枪吧),它基本上枚举了文档对象上的所有属性。我的问题是,虽然它在 firebug 中工作,但从脚本运行时,它在 Firefox 中抛出未
我发现了这个关于 iBeacon 的教程 (http://www.appcoda.com/ios7-programming-ibeacons-tutorial/),我觉得很有趣。我已经下载了他们的源代
我在我的开发箱上本地运行 WCF 服务,我的测试检查该服务一切正常。 通常,一切都很好,但有时(5% 的时间),我会收到错误 The requested service, 'net.tcp://csm
我正在使用 django 和 jQuery 构建一个网络应用程序,并且在其中一个页面上 $(document).com('click'... 事件间歇性地触发。我在结帐队列中有一个项目列表,以及删除每
Excepcion:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure ...
我正在尝试对 MySQL 5.5 数据库执行一系列检查/插入操作,但我经常遇到间歇性的 SIGSEGV 错误问题。在执行许多查询的过程中,SELECT 语句运行得很好。然而,在经过一些可变的时间或执行
我每天至少发生一次崩溃,我似乎真的无法理解。它似乎在随机时刻发生在我身上,我无法追踪堆栈来理解它发生的原因。如果有人能为我指出正确的方向,甚至向我展示一些关于如何正确追踪值的在线文档和教程,那将是完美
我尝试用一些更简单的函数重现它,但没有成功。所以下面的代码显示了我们的生产服务器抛出的 KeyError 的相关方法,很多。 class PokerGame: ... def serial
我们有一个托管在 Windows 服务中的 WCF 服务和一个访问该服务的非线程客户端。该服务正在执行对 SQL Server 2008 数据库的数据访问。间歇性地在客户端发生以下异常: System
我们有一个 SSL 问题,我 99% 认为这不是您通常使用的证书信任存储旋转木马。 我们有一个 Weblogic 服务器试图通过 LDAPS 与 Active Directory 建立 SSL 连接,
我有一个复杂的经典 ASP 系统,多年来运行良好,但最近开始出现奇怪的间歇性问题。 在某些表单上,人们会报告说他们点击了“提交”,但表单只是自行重置(或者,浏览器可能只是重新加载了表单——我的用户可能
我在编译顶点着色器时遇到间歇性错误,为新创建的 OpenGL 上下文的首次渲染做准备。它是通常在相同硬件上运行的相同顶点着色器。失败后,glGetShaderInfoLog 返回的信息日志通常显示如下
我有一个目前看来无法解决的 EXC_BAD_ACCESS 问题。我试过启用 NSZombie,这似乎是许多帖子中的建议,但我处理的是 c 指针而不是 obj c 对象,所以我没有获得任何有用的调试信息
在 iOS 上出现间歇性 SSL 错误。我已经关闭了 ATS,我们知道这也会发生在操作系统版本 < iOS9 上 Error Domain=NSURLErrorDomain Code=1011 "An
我有一个使用 RequireJS 的相当大的 Backbone.js 项目。随着项目规模的增长(这里的“规模”指的是独立模块文件的数量),间歇性错误开始出现。大多数情况下,这是一个对象错误: 未捕获的
我是一名优秀的程序员,十分优秀!