- 浏览: 785520 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
aliang032:
文章很赞,有几个缺点:1、是你的服务端是单进程的,如果进程挂了 ...
php socket编程实例详解 -
最佳蜗牛:
最佳蜗牛 写道是不是缺少了一个toolbar.Realize( ...
wxPython写的简易编辑器(原创) -
最佳蜗牛:
是不是缺少了一个toolbar.Realize()?
wxPython写的简易编辑器(原创) -
最佳蜗牛:
2.7.3版本里不能显示工具栏的图标
wxPython写的简易编辑器(原创) -
sogo6:
我怎么安装的也不行? 裸奔啊。。。。。
让TextMate支持中文显示
APC是Alternative PHP Cache的简称,是 PHP 的一个免费公开的优化代码缓存。它用来提供免费,公开并且强健的架构来缓存和优化 PHP 的中间代码。
APC模块的参数配置
Name Default Changeable Changelog apc.enabled 1 PHP_INI_ALL apc.shm_segments 1 PHP_INI_SYSTEM apc.shm_size 30 PHP_INI_SYSTEM apc.optimization 0 PHP_INI_ALL apc.num_files_hint 1000 PHP_INI_SYSTEM apc.ttl 0 PHP_INI_SYSTEM apc.gc_ttl 3600 PHP_INI_SYSTEM apc.cache_by_default On PHP_INI_SYSTEM apc.filters "" PHP_INI_SYSTEM apc.mmap_file_mask "" PHP_INI_SYSTEM apc.slam_defense 0 PHP_INI_SYSTEM apc.file_update_protection 2 PHP_INI_SYSTEM apc.enable_cli 0 PHP_INI_SYSTEM > APC 3.0.6
apc.enabled 布尔型
apc.enabled 可以被设成 0 来禁用 APC。这主要是有用的,当 APC 被静态编译入 PHP 时,因为没有其它方法来禁用它(当编译为
DSO 的时候,可以将 php.ini 中的 extension 行注释掉)。
apc.shm_segments 整型
对编译缓存分配共享内存块的数量。如果APC用光了共享内存,而且你已经设置
apc.shm_size为系统允许的最大值的情况下,你可以试着去提高这个参数的值。
apc.shm_size 整型
每个共享内存块的大小是以MB为单位的。在默认情况下,一些系统(包括大多数BSD变种系统)的共享内存块的大小限制的很低。
apc.optimization 整型
优化等级。设为0则禁用优化,越高的值使用越强有力的优化。期待有适度的速度上的改进。这个还是实验性质的。
apc.num_files_hint 整型
对在你的Web服务器上被包含和请求的不同的源文件的数量的提示。如果你无法确定,设置为0或者省略;这个设置主要可能用于有成千的源文件的站点。
apc.ttl 整型
当一个缓存条目在缓存区的位置被另一个条目需要时,我们需要考虑的是这个缓存条目在缓存区的位置被允许空闲的秒数。将这个参数设置为0意味着你的缓存可能
充满不新鲜的条目,同时导致新的条目无法被缓存。
apc.gc_ttl 整型
缓存条目在垃圾收集列表中存活的秒数。这个值提供了出错保护在执行一个缓存源文件,而同时服务器进程死了的事件中。如果那个源文件被修改,内存分配给旧版
本的缓存条目将不会被回收,直到这个参数设定的TTL值到的时候。设置为0就是禁止这个特性。
apc.cache_by_default 布尔型
默认为On,但可以被设置为Off并和以加号开头的apc.filters配合使用,文件仅仅在匹配过滤器时才被缓存。
apc.filters 字符串
一个以逗号分割的POSIX扩展正则表达式的列表。如果任何模式匹配源文件名,这个文件将不会被缓存。注意用来匹配的文件名是传递给
include/require 的文件名,而不是绝对路径。如果正则表达式的第一个字符是 +
,则这个表达式就意味着任何匹配表达式的文件将会被缓存,如果第一个字符是 - 则任何匹配都不会被缓存。 - 是默认值,所以可以被省略。
apc.mmap_file_mask 字符串
If compiled with MMAP support by using --enable-mmap this is the
mktemp-style file_mask to pass to the mmap module for determing whether
your mmap'ed memory region is going to be file-backed or shared memory
backed. For straight file-backed mmap, set it to something
like/tmp/apc.XXXXXX (exactly 6 Xs). To use POSIX-style shm_open/mmap put
a .shm somewhere in your mask. e.g. /apc.shm.XXXXXX You can also set it
to /dev/zero to use your kernel's/dev/zero interface to anonymous
mmap'ed memory. Leaving it undefined will force an anonymous mmap.
apc.slam_defense 整型
在非常繁忙的服务器上,无论你启动服务还是修改文件,你都会导致一种多进程都试图在同一个时间缓存同一个文件的竞争。这个选项设置了进程跳过试图去缓存一
个未被缓存的文件的百分比。或者可以把这个想象成一个单独进程跳过缓存的机率。例如,设置apc.slam_defense为75就意味着进程有75%的
机率不去缓存未被缓存的文件。所以,设置的越高,越能减少缓存的碰撞机率。设置为0则禁用这个特性。
apc.file_update_protection 整型
当你在一个运行着的服务器上修改文件时,你应该执行原子操作。也就是,先写一个临时文件,当写完后再重命名(mv)这个文件到它的最终位置。许多文本编辑
器,cp,tar和其他一些类似程序都不是这样操作的。这就意味着有机会去访问和(缓存)文件,当这个文件还在被写的情况下。
apc.file_update_protection的设置使得缓存标记新文件的延迟。默认值是2,意味着如果发现文件的修改时间距离访问时间不到2
秒,文件将不会被缓存。访问写到一半的文件的不幸用户将会看到离奇的情况,但至少这种情况不是持续的。如果你确信你经常使用原子操作来更新你的文件,你可
以关闭这个保护通过设置这个参数为0。如果你的系统充满io操作,并导致更新程序花费超过2秒,你可能需要去增大这个值。
apc.enable-cli 整型
大多是为了测试和调试。为CLI版本的PHP开启动APC功能。一般来说,你将不会想到为每一个
CLI请求创建,移植和放弃APC的缓存,但对于各种测试情况,这是很容易的为了CLI版本开启APC。
APC的安装:
一般是从http://pecl.php.net/package/APC下载源代码,然后phpize来编译安装,安装完以后在加上php.ini里加上:
extension=apc.so
同时,记得要在PHP.ini中打开opcode cache的开关:
apc.cache_by_default = on
同时也可以通过apc.filters让APC只对特定范围的动态程序进行opcode缓存。
使用php apc模块需要注意的几点
在maillist中看到Rasmus的一段对于php APC模块的发言。作为APC的作者,他的见解应该是很有参考价值的。
APC will probably be 20-30% faster, but if you are writing to it frequently it can cause problems. The APC cache is best for things that change very rarely. And by very rarely I mean days, not hours or minutes. Because of the way APC does an anonymous file-backed mmap where I unlink the file at startup to get process-death protection, it isn’t easy to get at the cache from a separate standalone command line script. That can be solved by mmap’ing slightly differently, but in the default config your approach won’t work. -Rasmus
就是说APC不适合用于频繁写的场合,你最好只用它来保存那种几天都不会更改的内容。否则出了莫名其妙的问题就不好怎么解释了。
在以前的应用中,我确实有将apc用在频繁写的场合,偶尔会出现内存耗尽,进而引起所有http请求卡死,形式一发不可收拾整个服务器当掉。所以现在我仅仅用apc来缓存opcode的php代码,不在程序中显式的调用它,算是相安无事。
发表评论
-
基于libmemcached,php扩展memcached的安装
2011-03-29 18:23 1610一,为什么要装memcached扩展 memcached ... -
OpenCV和PHP的人脸识别技术
2011-03-15 00:52 3993OpenCV安装之前必须依赖的包:(请先安装好) pkgco ... -
php代码安全:增加这三行php代码的安全,性能和兼容性
2010-10-09 16:42 1273如何改进以下的这行php代码: <? echo(&q ... -
PHP代码安全:register_globals的设置off
2010-10-09 16:29 1366在PHP编码的时候,要考虑到很多安全问题,不然将可能被攻击。下 ... -
PHP 加速器:APC、eAccelerator、XCache比较
2010-09-29 11:24 2614一直想找一些关于PHP加速的文章,偶然看到杀 客 的这篇文 ... -
安装PHP的Parsekit扩展
2010-09-29 09:54 1274安装PHP的Parsekit扩展 从http://pecl. ... -
PHP算法:折半查找法(又称二分查找法)
2010-09-26 13:12 2306二分查找又称折半查找 ,它是一种效率较高的查找方法。 ... -
PHP算法:直接插入排序
2010-09-26 12:56 1322直接插入排序(Straight Insertion Sort) ... -
PHP算法:冒泡排序与快速排序
2010-09-26 12:41 1852写一个排序算法,可以是冒泡排序或者快速排序,假设待排序对象是一 ... -
[转]PHP的错误报告error_reporting
2010-09-25 11:41 1536error_reporting 设定 ... -
PHP正则表达式:将1234567890转换成1,234,567,890 每3位用逗号隔开的形式
2010-09-25 10:52 1664“四项处理”的作用是与字符相匹配,然后根据是否能找到要匹配的字 ... -
PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
2010-09-25 10:19 4672PHP函数篇详解十进制、二进制、八进制和十六进制互相转 ... -
php socket通信的基础知识
2010-09-25 09:03 7421迷人而又让人容易糊涂的套接字(Sockets)。Sockets ... -
posix和perl标准的正则表达式区别
2010-09-25 08:29 5519正则表达式(Regular Expre ... -
php socket编程实例详解
2010-09-24 23:10 12550让我们以一个基本的例子开始---一个接收输入字符串,处理并返回 ... -
PHP SPL,遗落的宝石
2010-09-24 22:23 1136英文原文:http://www.rafae ... -
PHPER进阶必备知识:详解SQL性能优化十条经验
2010-09-17 22:02 8211.查询的模糊匹配 尽量避免在一个复杂查询里面使用 LIKE ... -
mysql_fetch_array与mysql_fetch_row有什么区别?
2010-09-17 21:54 4008两种查询函数array / row区别 格式:mysql ... -
php 排序函数 sort、rsort、asort、arsort、ksort、krsort的区别
2010-09-17 18:43 34241,快速创建数组的函数range() 比如range()函数 ... -
在smarty模板文件当中,直接使用PHP代码
2010-09-11 23:19 1759smarty允许在模板中直接嵌入 php 脚本. 是否处理这些 ...
相关推荐
apc的详细配置 文档片段: apc_cache_info () 返回缓存信息 apc_clear_cache() 清除apc缓存内容。 默认(无参数)时,只清除系统缓存,要清除用户缓存,需用?user‘参数。 apc_define_constants ( string key, ...
php_apc.dll
eaccelerator似乎比APC更快,但是,如果你正在运行多个实例的Apache在同一服务器上,你会明白了第二缓存工具 PHP使用. 我使用两个APC及eaccelerator, APC似乎是越来越好,仅在过去3个月内(自01/2006 ) . 注意:在不久的...
windows平台下的,php5.3.3版本的apc扩展文件,之前在csdn上找到的不能用,千辛万苦找到了一个能用的放上来 apc放到ext目录下 然后在php.ini中加上下列代码: extension=php_apc.dll [apc] apc.enabled = 1 apc....
APC编译缓存扩展for php on windows。php_apc-3.1.10-5.3-vc9-x86.zip,内含dll文件。for php5.x
php5.3 的apc 文件 可以直接在文档中引用
php_apc.dll【php组件】 php_apc.dll【php组件】 php_apc.dll【php组件】 php_apc.dll【php组件】
APC全称是Alternative PHP Cache,官方翻译叫”可选PHP缓存 PHP大文件上传文件
重命名为php_apc.dll 2.复制php_apc.dll到你的PHP的模块文件夹里,比如c:/php/extensions (PHP4.X)或者c:/php/ext(PHP5.X) 3.打开php.ini.搜索;extension=php_zip.dll 在这一行下面加上 extension=php_apc.dll apc....
apc cached for php 5.3.28
重命名为php_apc.dll 2.复制php_apc.dll到你的PHP的模块文件夹里,比如c:/php/extensions (PHP4.X)或者c:/php/ext(PHP5.X) 3.打开php.ini.搜索;extension=php_zip.dll 在这一行下面加上 extension=php_apc.dll apc....
windows下 php apc的扩展,可以缓存php脚本。非常不错的apc扩展,经本人测试能正常使用
apc 检测脚本,php 下apc 模块监测脚本,直接运行即可
APC UPS网络管理卡IP地址配置方法,默认用户名和密码,超级终端和ARP配置方式
php5.3.3_APC扩展模块
php 5.4 apc扩展 dll文件 用于实现php的APC扩展模块
x64 php_apc.dll for php5.3.x
使用APC缓存优化PHP程序