为什么要使用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
在Python编程中,遇到“SyntaxError: invalid predicate”这一错误提示,通常是由于语法上的疏忽或不当的逻辑表达导致的。要深入理解这一错误,需要掌握以下几个关键知识点: 1. 语法错误的定义:在编程中,语法...
invalid pointer type(解决方案).md
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 ...
以下是一些常见的 Fluent 报错及其解决办法: 1. **双击无法打开 cas 或者路径出现乱码**: - 这个问题通常是由于文件路径中包含了中文字符,而 Fluent 不支持中文路径。解决方法是将包含文件的路径全部改为英文,...
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 ...
为了解决ERR_INVALID_POINTER问题,程序员需要确保指针在使用前已被正确初始化,并指向一块有效的内存空间。以下是几种常见的解决方案: 1. 初始化指针:在声明指针变量时,应将其初始化为NULL。这样做可以避免指针...
解决“Invalid point encoding”问题的关键在于确认几个关键步骤: 1. 校验椭圆曲线参数:确保使用的椭圆曲线参数是否正确,这些参数包括但不限于a、b值和基点G的坐标,同时还要确认使用的哈希算法和签名算法是否...
### SPECpower报错解决方案 #### 一、问题背景与描述 在进行SPECpower性能测试时,用户可能会遇到警告信息提示版本过时的情况:“WARNING: PTDaemon 1.9.1-3caa3cc4-20190717 is over 12 months old.” 这个警告...
MindSpore报错解决地图2022.10.21主要涵盖了MindSpore在深度学习过程中遇到的各种常见问题及其解决方案。这些问题大致分为两类:数据加载与处理问题,以及网络构建与训练问题。 在数据加载与处理方面,MindSpore...
在使用过程中,用户可能会遇到各种错误,其中一种常见问题是“InvalidParameter at AdvSch.dll, Base Address…”报错,这通常发生在尝试复制原理图时。这个错误提示涉及到了Altium Designer的核心组件AdvSch.dll,...
### Python 3.7+ 安装 PySpider 报错解决方案 #### 环境配置 在开始之前,我们先了解下本次问题解决所处的环境背景,这有助于更好地定位和解决问题。 - **操作系统**: macOS - **Python 版本**: 3.7 #### 遇到的...
### "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的解决办法,希望对大家有所帮助,如果