问题标签 [apc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
11191 浏览

php - apc.filters 按路径?

如何在 APC 操作码缓存中使用 apc.filters 参数来不缓存某些路径?例如,我希望缓存对路径下的任何内容都处于活动状态:

“/var/www/vhosts”

并排除路径

“/usr/share/psa-horde/”

我尝试使用

但两者都没有像我预期的那样工作。

http://www.php.net/manual/en/apc.configuration.php#ini.apc.filters

过滤器是否应该更像“+/var/www/vhosts/*”(注意通配符)?由于过滤器的工作方式,我担心这是不可能的:

请注意,用于匹配的文件名是传递给 include/require 的文件名,而不是绝对路径。

任何想法或示例配置?

0 投票
1 回答
585 浏览

apache - Zend 框架优化,tcpsndbuf & kmemsize

我们在使用 Zend 框架的媒体殿堂上的中层 DV Rage 服务器上,并且我们一直在 Virtuzzo 中非常一致地收到 QoS 警告。上周我们已经安装了 APC(将其调整到死)、mysql 和 apache 调整(Media Temple 推荐了许多)、前端 gzip、Zend_View缓存以及 Zend 手册中推荐的所有优化技术。在这一点上,我认为我们已经基本解决了 kmemsize 问题,但我们仍然收到 tcpsndbuf 警告,老实说,我不知道如何处理这些问题。我们的流量每天大约有 1000 个独立用户,我很难相信我们无法支持这一点。MT 似乎对内存有点“吝啬”,在所有这些工作优化之后,答案似乎是“添加更多内存/升级”

  1. 我们是否应该停止“玩服务器”并开始为我们的客户推荐真正的专用服务器?
  2. 是否有人对我们需要多少内存来运行基于 Zend 框架的站点有任何建议......假设我们当前的“1GB 专用 RAM”(它在营销中所说的)?

我知道这有很多问题要问,但我们已经束手无策了,我们更多的是“代码”而不是“服务器”人员(如果这听起来很愚蠢,请提前道歉)。:)

编辑。好的,所以在我们的 512MB 中,(mt) 已将 13MB 分配给 kmemsize。这低得离谱吗?我觉得是的。

0 投票
9 回答
6976 浏览

php - 为什么 apc_store() 会返回 false?

关于 APC 写入失败的原因,php.net 上的文档参差不齐。什么样的场景会导致调用 apc_store() 失败?

有大量可用的磁盘空间,而且故障参差不齐。有时存储操作会成功,有时会失败。

0 投票
2 回答
4152 浏览

php - 如何更改 Alternative PHP Cache (APC) 中的锁定机制?

我最近在 Scribd 上的一个演示文稿中读到,Facebook 对 APC 的各种锁定机制进行了基准测试,包括文件锁(默认)、IPC 信号量锁、linux Futex 锁、pthread 互斥锁和自旋锁。您可以通过单击以下链接查看此演示文稿:APC@Facebook

我想知道是否有人知道这些源代码是否已发布,也许在某个地方的 git 或 SVN 存储库中?从默认文件锁定切换到其他选择之一的速度优势似乎很重要。

0 投票
5 回答
888 浏览

php - 优化PHP、MYSQL社区网站性能

我拥有一个社区网站,大约有 12.000 名用户(写得很重),在具有 1Gb 内存的单个 VPS 上最多有 100 个并发用户。负载很少超过 3 并且响应非常好。

目前使用简单的文件缓存来存储数据库查询结果以减轻数据库的负载,但网站仍然可以减慢超过 220 个并发用户(负载测试)。

我怎样才能找出瓶颈是什么?

我认为数据库很好,因为缓存工作正常,但是磁盘 IO 可能会导致问题。每个页面加载有大约 10 个包含和来自数据库或文件缓存的 10-20 个查询,以及大量的 php 处理。

我尝试使用内存缓存而不是文件缓存,但令我惊讶的是,负载测试似乎更喜欢文件缓存。

我计划使用 Alternative PHP Cache,但我仍然不明白该缓存是如何失效的。我有一个处理所有请求的单一 index.php。缓存会存储每个单独请求的结果吗?如果我的包含(或缓存中的查询结果)之一发生更改,它会自动清除缓存吗?

寻找瓶颈的任何其他建议(尝试过xdebug)?

谢谢,哈姆雷特

0 投票
1 回答
782 浏览

php - 通过输入按钮提交表单后我无法获得 xhrPost,我快疯了

它相当冗长,TLDR 版本低于文本的暴击墙。

设置:我们公司使用原型已经有一段时间了,最​​近才切换到dojo。我一直在转换很多很多 JS 并将一切恢复正常,然后我遇到了这个问题......

问题:我有一个带有上传文件字段的典型表单。(我没有使用 dijit,并且尝试了它们的多种变体 - 也许在 1.4 中不适合我,我会再试一次。)按下提交按钮后,我的意图是观察文件的上传进度,在原型中是一个简单的 ajax.PeriodicalUpdater 调用(基本上是 xhrGet/Post 一遍又一遍地运行)。再加上 apc.rfc1867 (例如:http ://www.phpriot.com/articles/php-ajax-file-uploads/3 )这变得很容易,基本上你发帖,并使用ajax来获取文件的当前进度.

这是我遇到实际问题的地方...... xhrPost() 在表单进入我所说的“提交模式”(页面正在假脱机和上传)后似乎不想运行。APC 实际上需要文件处于“提交模式”以轮询当前进度并通过 ajax 返回 %。

我尝试过的:只有一件事部分奏效。使用 onclick="" 调用 xhrPost() 紧跟 return false; 这个问题是我让它真正工作的唯一方法是单击提交按钮,然后单击一个单独的提交按钮并返回 false ......我认为这工作的原因是它开始了一个正常的提交,然后在它发送 xhrPost() 的上传过程以及 return false;。可能是重新开始上传,但可以肯定的是 APC 数据正在输入进度条,不幸的是,这不需要点击 2 次。此外,它也没有完成提交页面。

我在按钮或表单上使用 dojo.connect() 几乎没有成功。

我使用 onclick="" 几乎没有成功,除非 return false; 存在。

我使用 dojo.io.iframe 发送单独的请求收效甚微。

我在使用 dojox.file.FileUpload 方面收效甚微,并且还提出了大量它自己的问题。

代码片段

旧代码:

新代码:

APC 处理:

}

TLDR 版本:我需要一种方法来提交包含要上传的文件的表单,并同时发送 xhrPost(),但我没有尝试任何方法。唯一的另一个变量是 APC 必须知道试图上传的文件,而停止事件似乎完全阻碍了这一点。

0 投票
1 回答
376 浏览

php - PHP APC multiple upload does not work

I tried to use PHP APC to upload files on wamp, windows2003. But when 2 or more uploads are working at the same time, only one upload is working.

It seams that I'm not the only one experiencing this error: http://pecl.php.net/bugs/bug.php?id=13719

Can anyone tell how can I fix this problem?

Thanks in advance!

0 投票
3 回答
2081 浏览

php - APC 缓存可以在以 fastcgi/fcgid 运行的多个 PHP 进程之间共享吗?

我正在运行一个 LAMP 盒子,其中 PHP 作为 fcgid 运行。APC 已安装并且运行良好。但是,每个 PHP 进程都有自己的缓存。这是一个问题,因为有 10 个 PHP 进程和 300MB 共享 APC 缓存比 10 个 PHP 进程更有意义,每个 PHP 进程都有一个冗余的 30MB 非共享 APC 缓存。

8 个月前有一个关于这个主题的先前线程(如何在 FastCGI 下运行时在多个 PHP 进程之间共享 APC 缓存?),我想知道从那时起这个领域是否有任何发展。

0 投票
1 回答
6517 浏览

php - PHP 版本 5.2.11(在 Windows 上)的 APC dll 在哪里?

试图为我的 Windows 机器找到正确的 APC DLL。到目前为止,我所做的一切都导致 Apache 崩溃。没有从源代码编译(我真的不想这样做),我似乎走到了死胡同。

详情如下:

操作系统:XP
PHP:php-5.2.11-win32-vc6

0 投票
5 回答
4453 浏览

php - 无法重新声明类 sfconfig

我在 Windows XP 上运行带有 PHP 版本 5.2.11 的 Symfony (1.2.9)。

我安装了 APC(版本 3.0.19)

我可以运行 PHP 脚本来证明 apc 工作正常(工作)。但是,当我尝试在 symfony 操作中使用 APC 调用时,我收到此错误(在 apache error.log 文件中):

[apc-error] 无法重新声明类 sfconfig

这会立即使 Apache 崩溃。

我尝试使用 Symfony sfAPCCache 包装器,然后直接调用 apc_* 函数 - 结果是一样的。有谁知道为什么会这样?