标签: apc

有人使用PHP 5.4.4和APC 3.1.10成功提供高流量的人吗?

升级到PHP 5.4.0后调用未定义的方法从2012年3月开始提到一些APC错误报告.

我的具体问题是:PHP 5.4.4(或其附近)是否与APC 3.1.10(4月发布,但列为"beta"而不是"稳定")一起稳定?

我们在Apache盒子上看到5 000 - 9 000个APC文件缓存命中/秒,作为流量水平的模糊指标.这与PHP 5.3.8和APC 3.1.9(使用mod_php)一起工作正常 - 有没有人有5.4.4和3.1.10的可比流量的经验?

php apache porting apc

29
推荐指数
1
解决办法
2523
查看次数

用什么来代替php 5.5中的apc用户数据缓存?

PHP 5.5默认包含zend opcache,这基本上意味着几乎没有人会使用APC.

但是使用什么而不是APC的用户数据缓存部分(apc_store&apc_fetch&similar)?

我真正喜欢使用APC用户数据缓存的一个用例是静态资产(javascript,css ..)的"版本".每当我引用静态文件时,我都会将其内容的哈希值添加到url中(例如<script src =/script.js>将成为<script src =/script.js?v = hash>),以便浏览器始终使用当前版本并可以永久缓存它.

我可以想象使用redis或memcache来存储静态文件的哈希值,但是通过网络或套接字询问另一个进程只是获取文件内容的哈希值似乎很愚蠢.APC用户数据缓存(在共享内存中并访问它几乎与访问php变量一样快)似乎是用于此类数据的正确选择.

所以问题是:在PHP 5.5中使用什么来缓存小块数据而不是APC?

php apc

28
推荐指数
2
解决办法
7308
查看次数

APC - > APCu/OPCache,性能差

我有一个m3.xlargeEC2实例,我PHP 5.5.11今天更新了.

有了这个更新,它覆盖php55-pecl-apcphp55-pecl-apcu.

在阅读和实验之后,我的理解是APC已被替换OPCache,除了可以带回来的关键值存储APCu.

在将我的配置调整到看起来合理的东西之后,在登录时使用Wordpress现在非常慢,至少300-900ms更糟糕(前端通过清漆缓存,并且工作完美...但是当你使用管理员时故意不是缓存,而是作为罪恶缓慢).

我升级时做了一系列基准测试,每个步骤的样本量很小.随着我的继续,它的恶化程度越来越差.

  • APC(升级前) -->
  • OPCache +没有APCu -->
  • 用于APCu的OPCache + APCu + WP插件

现在我只是闲着OPCache,没有APCu.

  1. 我怎样才能达到相同的性能?我喜欢管理界面,我喜欢它有多快.老实说,我根本看不出这是一种改进,真的很令人沮丧......除非有一些我不知道的超级图书馆.它当然不是我拥有的,或者可能没有配置好.
  2. 假设#1的答案是'你把它配置成球',那么你会介意看看这个并看看这是否合理?

对于我的设置我使用最新的wordpress,一些大插件,但我不能把它们取下,因为它们很重要.幸运的是,清漆可以完成大部分工作.我的网站根目录有4个内核,16GB内存,~10k文件.我也没有真正的硬核应用程序或除了wordpress之外的任何东西,它是一个相当普通的设置.我认为这是可能有用的东西.

配置:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=0
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.max_wasted_percentage=5
opcache.use_cwd=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.revalidate_path=0
opcache.save_comments=0
opcache.load_comments=0
opcache.fast_shutdown=1
opcache.enable_file_override=0
opcache.optimization_level=0xffffffff
opcache.inherited_hack=1
opcache.dups_fix=0
opcache.blacklist_filename=/etc/php-5.5.d/opcache*.blacklist
opcache.max_file_size=2M
opcache.consistency_checks=1
opcache.force_restart_timeout=180
opcache.error_log=/var/log/php-fpm/5.5/opcache.log
opcache.log_verbosity_level=1
opcache.preferred_memory_model=
opcache.protect_memory=0
Run Code Online (Sandbox Code Playgroud)

php wordpress apc opcache

28
推荐指数
3
解决办法
2万
查看次数

PHP 7是否有兼容的内存缓存?

我想使用PHP 7.但似乎没有键值内存缓存的选项.

APC已停产.

一段时间后,XCache将无法用于PHP 7.

PHP 7有可用的替代方案吗?

或者有没有办法使用PHP7的Opcache来实现键值内存缓存?

php apc xcache opcache

28
推荐指数
4
解决办法
3万
查看次数

如何检查APC操作码缓存在PHP中是否正常工作?

我正在使用启用了APC缓存的PHP:

apc.cache_by_default => On
apc.enabled => On
apc.ttl => 7200
Run Code Online (Sandbox Code Playgroud)

现在我怎么知道它是否100%使用操作码缓存.

例如,让我们说我有这个PHP文件:

<?php
echo "Hi there";
?>
Run Code Online (Sandbox Code Playgroud)

现在运行此文件后,让我们将其更改为 echo "Bye there";

不应该回应"你好",因为7200秒的TTL尚未结束?我对吗?如果是这样,为什么它会回应"再见"?如果我错了,即使更改文件后如何强制它使用操作码缓存?

php apc opcode

26
推荐指数
3
解决办法
5万
查看次数

PHP APC潜在缓存猛烈抨击密钥

我在尝试使用时收到此错误apc_store().我google了它,发现这是APC timebomb bug,并看到一些修复建议添加apc.slam_defense = Off;到php.ini.

我需要知道是否由于编程错误而发生这种情况,如果是,则如何修复它.

这是代码段:

if ($data = apc_fetch("foo")) {
    $an_array = $data;
} else {
    /* couple of lines */

    apc_store("circles", $an_array); // This is where I get the error
}
Run Code Online (Sandbox Code Playgroud)

将在我部署的系统中频繁调用此脚本.

我希望我提供了足够的信息

提前致谢

php apc apache2

25
推荐指数
3
解决办法
2万
查看次数

我怎么知道是否启用了任何PHP缓存?

我以前认为缓存非常难以安装所以我从来没有这样做过......在阅读了APC之后,它似乎很容易安装.我一直以为我必须修改我的应用程序中的许多PHP代码才能使用它lol.

无论如何,我想安装APC.我可以使用phpinfo()并注意它没有在页面上列出,所以它没有安装.这是否也显示在那里的各种其他缓存系统?如果我已经安装了另一个缓存系统,我不想安装APC,因为我不确定它是否会导致冲突.主机会自动为您安装这些吗?

检查是否启用了任何类型的缓存的步骤是什么?

php caching apc

24
推荐指数
2
解决办法
4万
查看次数

php信号量不起作用

我有以下代码,信号量不会按预期锁定它.

(我知道apc_inc.这不是我想要的.)

$semkey = sem_get(123);
sem_acquire($semkey);

$count = apc_fetch('count111');
if(!$count) $count = 0;
$count++;
apc_store('count111', $count);

sem_release($semkey);
Run Code Online (Sandbox Code Playgroud)

其次是

ab -n 4000 -c 200 http://localhost/test.php

0请求失败.

但之后apc_fetch('count111')只显示了~1200次点击

nginx on ubuntu 12.04(64bit),php 5.3.16~dotdeb,php-fpm

  • 更新1:完美适用于Linux mint,5.4.6~dotdeb,内置于Web服务器.我将使用与nginx相同的版本尝试相同的机器.

php semaphore apc

24
推荐指数
1
解决办法
1984
查看次数

如何在Windows中安装apcu

如何在Windows中安装APCu?

我找到了这个.但我需要一个适用于Windows的解决方案.

我使用PHP 5.5.6(我有XAMPP包).

php windows apc

24
推荐指数
2
解决办法
6万
查看次数

隐秘的GC缓存条目意味着什么

我不时收到这条奇怪的警告信息.它通常在页面重新加载时消失.那是什么意思.我用Google搜索但无济于事.

Warning: include(): GC cache entry '/.../...class.php' (dev=2049 ino=37120489) was on gc-list for 3840 seconds in /.../...class.php on line 111
Run Code Online (Sandbox Code Playgroud)

php warnings apc

23
推荐指数
1
解决办法
1万
查看次数

标签 统计

apc ×10

php ×10

opcache ×2

apache ×1

apache2 ×1

caching ×1

opcode ×1

porting ×1

semaphore ×1

warnings ×1

windows ×1

wordpress ×1

xcache ×1