为什么要使用APC ? 经过一些压力测试(使用apache ab工具),得出以下结果:
1. 使用ab发起相同请求参数,启用APC后,服务器负载降低一半,也就是说启用APC后,服务器负载能力提升约2倍。
2. 启用APC后,脚本执行速度约有20%-30%提升,这也是使用ab的测试报告总结。
3. 我曾经在生产环境使用第三方的缓存,如xcache, eAccelerator, 结果很不稳定,导致php-fpm负载变得很高(也可能是我参数配置不当引起)
4. APC毕竟是PHP官方的扩展,对其更信赖一些。
5. 后来,凡是安装PHP,我必定会安装APC扩展。就没有尝试过别的缓存模块(也是一朝被蛇咬,十年怕井绳的心理在作怪)
但这次我在使用较新的 php 5.4.14, APC 3.1.9时,遇到一些问题
OS : RHEL 5.6 x64
PHP : 5.4.14
APC: 3.1.9
使用fpm方式编译,APC以PECL扩展方式安装,启动php-fpm进程时,报错:
restarting /usr/local/php/sbin/php-fpm ...
*** glibc detected *** /usr/local/php/sbin/php-fpm: free(): invalid pointer: 0xb74b0910 ***
======= Backtrace: =========
/lib/libc.so.6[0x3f47595]
/lib/libc.so.6(cfree+0x59)[0x3f479d9]
/usr/local/php/sbin/php-fpm(destroy_zend_class+0x202)[0x83fd8f2]
/usr/local/php/sbin/php-fpm(zend_hash_clean+0x66)[0x8413566]
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so(apc_interned_strings_shutdown+0x35)[0xabc605]
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so(apc_module_shutdown+0x14d)[0xab3c2d]
/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so[0xaaa65f]
/usr/local/php/sbin/php-fpm[0x840c3b2]
/usr/local/php/sbin/php-fpm[0x8413018]
/usr/local/php/sbin/php-fpm(zend_hash_graceful_reverse_destroy+0x18)[0x8413258]
/usr/local/php/sbin/php-fpm(zend_destroy_modules+0x2c)[0x840d6cc]
/usr/local/php/sbin/php-fpm[0x8407797]
/usr/local/php/sbin/php-fpm(php_module_shutdown+0x2a)[0x83ab5da]
/usr/local/php/sbin/php-fpm[0x84adf2b]
/usr/local/php/sbin/php-fpm[0x84a5534]
/usr/local/php/sbin/php-fpm[0x84b3930]
/usr/local/php/sbin/php-fpm[0x84a48d7]
/usr/local/php/sbin/php-fpm[0x84abea9]
/lib/libc.so.6(__libc_start_main+0xdc)[0x3ef3e9c]
/usr/local/php/sbin/php-fpm(realloc+0x9d)[0x806ec81]
解决办法:使用APC 3.1.13,但这个版本的APC还是beta版本,在生产环境中是否稳定,还需要观察
下载地址:http://pecl.php.net/package/APC/3.1.13
相关推荐
Altium Designer 19 原理图复制出现InvalidParameter at AdvSch.dll, Base Addre... 报错的解决办法
invalid pointer operation(解决方案).md
Invalid Pointer(解决方案).md
invalid pointer type(解决方案).md
以下是一些常见的 Fluent 报错及其解决办法: 1. **双击无法打开 cas 或者路径出现乱码**: - 这个问题通常是由于文件路径中包含了中文字符,而 Fluent 不支持中文路径。解决方法是将包含文件的路径全部改为英文,...
An invalid pointer is one that points to an address that is not accessible or has been deallocated. ##### Common Issues with Pointers - **Dangling Pointers**: Pointers that point to memory that has ...
invalid this pointer(解决方案).md
报错信息如下: ``` Collecting pip Using cached https://files.pythonhosted.org/packages/da/f6/c83229dcc3635cdeb51874184241a9508ada15d8baa337a41093fab58011/pip-21.3.1.tar.gz Complete output from ...
MindSpore报错解决地图2022.10.21主要涵盖了MindSpore在深度学习过程中遇到的各种常见问题及其解决方案。这些问题大致分为两类:数据加载与处理问题,以及网络构建与训练问题。 在数据加载与处理方面,MindSpore...
在使用过程中,用户可能会遇到各种错误,其中一种常见问题是“InvalidParameter at AdvSch.dll, Base Address…”报错,这通常发生在尝试复制原理图时。这个错误提示涉及到了Altium Designer的核心组件AdvSch.dll,...
### Python 3.7+ 安装 PySpider 报错解决方案 #### 环境配置 在开始之前,我们先了解下本次问题解决所处的环境背景,这有助于更好地定位和解决问题。 - **操作系统**: macOS - **Python 版本**: 3.7 #### 遇到的...
sm2解密出Invalid point encoding问题的解决办法
### "format ' x' invalid or incompatible with argument" 解决办法 在进行电子设计自动化(EDA)软件Protel 99 SE的操作过程中,用户可能会遇到一个常见的错误提示:“format ' x' invalid or incompatible with ...
今天在项目中,使用Mybatis对oracle数据库进行操作的时候,报出ORA-00911: invalid character的错误,检查...以上所述是小编给大家介绍的Mybatis出现ORA-00911: invalid character的解决办法,希望对大家有所帮助,如果
**解决方案2**:使用 `do {} while(0)` 循环结构 通过循环结构确保即使在异常情况下,也能够执行到释放资源的代码。 ```c void ex_fun() { do { if (Error1) { break; } // 其他逻辑 } while(0); // 释放...
### VMware Workstation Pro 14 导入 OVA 报错问题解决方法 在使用 VMware Workstation Pro 14 进行虚拟机部署时,可能会遇到导入 OVA 文件时出现错误提示:“Invalid target disk adapter type: pvscsi”。这个...
项目中碰到的,写个文档记录一下解决方案