Memcache::set() 损坏的管道

2023-12-25

一般来说,Memcache 正在工作......但我的日志中多次出现这样的情况:

Memcache::set() [memcache.set]: 发送 8192 字节失败,errno=32 管道破裂

(字节数变化)

PHP5.3, Memcache https://www.php.net/Memcache类(v2.2.5 - 最新稳定version http://pecl.php.net/package/memcache)

什么是断水管,为什么发生这么多,可以改善吗?


我对此进行了相当多的研究和阅读,并且听到了很多对此的困惑。关于服务器端 Memcached 选项的文档非常少。我发现了一个隐藏的宝石,令人惊讶的是它由 MySQL 托管。一探究竟http://downloads.mysql.com/docs/mysql-memcached-en.pdf http://downloads.mysql.com/docs/mysql-memcached-en.pdf

有一些潜在的原因,其中一些令人信服地引用了:

  • 操作系统级别的 ulimit 设置为阻止其他连接的特定级别
  • 连接数已达到上限
  • 它只发生在高负载期间(抱歉,但是废话!)

我无法理解也无法想象上述内容在大多数情况下都是正确的。对于我们的例子,事实证明,当应用程序先前在自动模式下运行时(在 -vv 详细模式下,我们说 ascii 写入),我们切换到了二进制模式连接选项。一旦我们打开二进制选项,写入全部失败,从而导致管道损坏。

至于最大连接数影响,当您通过远程登录查看统计数据时,可以检测到它们。寻找以下内容

STAT accepting_conns 1
STAT listen_disabled_num 0

If listen disabled_num是 0,那很好。这意味着自 memcached 实例启动以来没有删除连接。

还可以尝试使用以下 Memcached 选项来优化您的连接,至少在 PHP 中,我们使用以下选项:

$this->m = new Memcached();
$this->m->setOption(Memcached::OPT_TCP_NODELAY, true);
$this->m->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
$this->m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY);

我只能说,在应用程序端、memcached 服务器端尝试一些设置组合,并更改应用程序上的其他默认设置(例如 memcached.ini 文件上的 memcached.sess_lock_wait ,请参阅php -i|grep memcached了解更多信息)。

祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Memcache::set() 损坏的管道 的相关文章

  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt
  • 如何让 Laravel“确认”验证器将错误添加到确认字段?

    默认情况下 Laravel 确认 验证器将错误消息添加到原始字段 而不是通常包含确认值的字段 password gt required confirmed min 8 是否有任何简单的方法来扩展验证器或使用一些技巧来强制它始终在确认字段而不
  • file_get_contents,HTTP 请求失败

    我尝试使用以下方式从另一个网站获取内容file get contents但我总是收到 无法打开流 HTTP 请求失败 allow url fopen 已打开 并且我已经在防火墙关闭的情况下进行了测试 但还是会出现这种情况 请问还有什么原因呢
  • Facebook 扩展权限

    更新2 好的 通过更改使其 有点 工作 loginUrl facebook gt getLoginUrl array canvas gt 1 fbconnect gt 0 req perms gt publish stream next g
  • 使用 PHP 分割逗号分隔名称

    我的名字格式为姓氏 名字 在我的数据库中 第一个和最后一个字段都有不同的字段 我想使用 PHP 读取逗号之前的所有内容作为姓氏 以及逗号之后的所有内容作为名字 实现这一目标的最佳方法是什么 list Lastname Firstname e
  • 如何将JS/CSS文件包含到Slim框架的模板中?

    我正在使用 Slim 框架开发一个简单的网络应用程序 我遇到了一个可能很简单的问题 我想将静态文件 CSS 和 Javascript 包含到我的模板中 我的项目文件夹结构如下 index php lt where all the routi
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • WooCommerce 自定义字段 - 多选

    我在 WooCommerce 的结账页面添加额外的字段 我可以添加文本框等基本字段 但需要添加一个 多 选择框 用户可以在其中选择多个项目 我已经弄清楚如何通过代码添加选择框 如下所示 add action woocommerce afte
  • 如何在PHP中完成http响应并进行进一步处理?

    就我而言 我需要向客户端回显一个标志并发送一封电子邮件 现在客户端需要等待电子邮件发送 但我想把这两个步骤分开 该怎么做呢 你可以看一下异步运行 PHP 任务 https stackoverflow com questions 858883
  • php/symfony/doctrine 内存泄漏?

    我在使用 symfony 1 4 和原则 1 2 将对象批量插入数据库时 遇到问题 我的模型有一种称为 Sector 的对象 每个对象都有多个 Cupo 类型的对象 通常范围从 50 到 200000 这些物体非常小 只是一个短标识符字符串
  • 如何使用 PATCH 更新简单的数据库字段?

    我是 php 和 API 的新手 我正在尝试学习这些方法 但我无法执行 PATCH 或 PUT 来更新我的简单 mysql 数据库 我使用了以下代码 if isset PATCH con mysqli connect localhost r
  • 我应该在 Symfony 中哪里放置既不是控制器也不是模型的类?

    对于我的应用程序包 我需要一些既不是控制器也不是模型的类 例如 我想要一个scorecard具有诸如 技能 效率 美丽 等成员的类 此外 它可能具有诸如 meanScore 之类的成员方法 getters 这样的类在 Symfony 框架中
  • 如何捕获反序列化异常?

    PHP 是否可以在以下情况下捕获异常 unserialize 产生错误 一个简单的方法是 ret unserialize foo if ret null Error case 但这不是最现代的解决方案 最好的方法是像前面提到的那样有一个自定
  • 如何验证上传的文件是视频?

    我的服务器上有一些非常敏感的信息 因此安全性是一个大问题 用户需要能够上传视频 我知道允许用户上传文件会带来安全威胁 因为没有 100 的方法可以阻止他们上传非视频 但我显然可以选择服务器将保留哪些文件 我知道检查文件扩展名是不够的 检查
  • 什么是 PHP session_start()

    它是否基于 cookie 启动当前会话 从 PHP 网站上得到的 PHP如何控制会话 如果我在用户打开我的登录页面时启动会话 我什至可以使用该会话做什么 我可以使用当前会话来获取有关登录用户的信息吗 PHP 会话系统允许您将数据安全地存储在
  • 如何让php页面从html页面接收ajax post

    我有一个非常简单的表单 其中有一个名字输入字段 我捕获了表单数据 并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面 但是 我根本无法从 PHP 页面获得任何在服务器端捕获数据的响应 我不确定我做错了什么或缺少什么
  • 访问 PHP 数组对象受保护的属性

    我正在尝试在 Symfony2 中上传多个文件 我正在尝试访问以下请求对象 但无法获取参数属性 如何将文件一一上传 我得到的错误 致命错误 无法访问第 66 行 var www File src Webmuch FileBundle Ent
  • 将 Hbase 与 PHP 集成 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经安装了 Hbase 现在我正在寻找一些 PHP 库来将 hbase 与 PHP 集成 我尝试了 2 个库 第一个是我尝试与 th
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc

随机推荐

  • DDPG(深度确定性策略梯度),actor是如何更新的?

    我目前正在尝试在 Keras 中实现 DDPG 我知道如何更新批评家网络 正常的 DQN 算法 但我目前坚持更新演员网络 它使用以下方程 因此 为了减少演员网络对其权重 dJ dtheta 的损失 它使用链式法则来获取 dQ da 来自批评
  • 在某些条件下,如何更改 WooCommerce 结帐页面上的“您的订单”文本

    使用此代码 我可以更改结帐页面中的 您的订单 文本 但我需要更改我的购物车中的特定产品或虚拟产品是否在我的购物车中 function custom wc translations translated text array Your ord
  • 如何通过套接字从 UWP 应用程序连接到 Unity 游戏服务器套接字?

    我想将从 UWP 应用程序的 Microsoft Band 收到的一些心率值发送到 Unity 我目前在 Unity 中有一个正在运行的 Tcp 服务器 但我似乎无法在 UWP 中使用 System Net Sockets 有人知道如何在U
  • 使用Java下载文件随机冻结

    当我尝试下载文件时 在本例中它只是一个图像 但真正的应用程序是一个更新机制 InputStream似乎冻结了read 我很确定我的代码没问题 所以我想知道为什么会发生这种情况以及它是否只在我的计算机上 有人可以运行这个吗 请注意 Timer
  • 在 Kotlin 中,是否可以在运行时更改委托?

    下面的代码生成的字节码创建了一个private final Base delegate 0领域中的Derived班级 当可变字段b分配的原始委托不会改变 有没有办法在运行时更改委托 同时保持zero boilerplate执行 interf
  • 如何在 Java Jersey 中使用 CDI 事件?

    我正在尝试遵循这篇文章的赞成答案 使用 JAX RS 和 Jersey 进行基于 REST 令牌的身份验证的最佳实践 https stackoverflow com questions 26777083 best practice for
  • UIScrollView 内的 UITableView 滚动后未收到第一次点击

    Brief 我有一个问题UITableView里面一个UIScrollView 当我滚动外部scrollView the table没有收到willSelect didSelect第一次触摸时发生事件 但第二次触摸时发生 更奇怪的是 单元本
  • 如何删除输入表单中引号前的 \

    您好 当我在我的网站上发布某些内容并在其中使用引号时 我会得到类似的内容 我需要对我的代码做什么来解决这个问题 大概是魔术语录 http php net manual en security magicquotes php这就是导致这种行为
  • jquery:双击打开链接?

    我想知道这是否是最好的解决方案 folder a click function e e preventDefault folder a dblclick function e window location replace this att
  • 使用 Python 设置文件中日期字符串的格式

    我从客户端获取 csv 文件 其中包含可变数量的列 在这些列中 可能有一些列包含日期字符串 但未定义顺序 例如 column1str column2dt column3str column4int column5int column6dt
  • 洛蒂和 RecyclerView

    我在用着Lottie https github com airbnb lottie androidRecyclerView 的 ViewHolder 内的动画 滚动时 帧速率太低 即使动画暂停也会发生这种情况 对这个问题有什么建议或解决方案
  • 设置 matplotlib 默认图形窗口标题

    图窗的默认窗口标题是图 X 其中 X 每个图都会增加 我知道如何更改图形的标题 fig pylab gcf fig canvas set window title Test 但是如何更改默认窗口标题 使其成为 测试 1 测试 2 等 以便不
  • Provider 与 Get_it

    在搜索 Flutter 的依赖注入解决方案时 我发现了两个很棒的库 provider and get it 据我所知 provider有更多的样板 但它非常适合 Flutter 允许Consumer重建部分Widget树 一旦注入的值发生变
  • 列在选择列表中无效,因为它未包含在聚合函数或 GROUP BY 子句中

    我下面有 sql 查询 但执行时遇到问题 SELECT from Select row number OVER Order By FloorUserId as row number FloorUserId max CASE WHEN Are
  • 我可以在 Typescript 中重用函数的参数定义吗?

    我想捕获一个函数的编译时参数结构 我可以在具有相似签名的多个函数定义中重用该结构 我认为这可能是沿着这个TS问题 https github com Microsoft TypeScript issues 4130或者更具体地说this on
  • 如何解决 JSON.parse: 字符串文字中的错误控制字符,在此代码中[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我是初学者JSON文档 这是我的代码 所以请帮助我解决这个错误 id design utilisateur rev 1 967a00dff5
  • Linux、Mono、共享库和未解析的符号

    我有一个填充库 共享 C 它调用另一个共享库 libexif 中的函数 并为 C 提供一个简单的接口以进行平台调用调用 也就是说 C 程序使用 PInvoke 调用我的自定义共享库 而我的自定义共享库又调用另一个共享库 在 Windows
  • Django - 如何使用 South 重命名模型字段?

    我想更改模型中特定字段的名称 class Foo models Model name models CharField rel models ForeignKey Bar 应更改为 class Foo models Model full n
  • 在 C/C++ 中高效地从结构化文件中读取数据

    我有一个文件如下 该文件由两部分组成 标题和数据 数据部分被分成大小相等的页面 每个页面都保存特定指标的数据 可能需要多个页面 不必是连续的 来保存单个指标的数据 每个页面由页眉和页体组成 页眉有一个名为 下一页 的字段 它是保存相同指标数
  • Memcache::set() 损坏的管道

    一般来说 Memcache 正在工作 但我的日志中多次出现这样的情况 Memcache set memcache set 发送 8192 字节失败 errno 32 管道破裂 字节数变化 PHP5 3 Memcache https www