PHP 缓存插件之 Zend Opcache ( 取代 APC )


简介:

Zend Opcache 、APC 这都是 PHP 代码加速器,将 PHP 源代码的编译结果缓存起来,再次调用时对比时间标记,如果没有改变则使用缓存数据,免去再次解析代码的开销。

APC 止步于 PHP 5.4 ,Zend Opcache 从 PHP 5.5 开始集成,取代 APC 。

一、安装 Zend Opcache

1、源码编译 PHP 时,加入 --enable-opcache 即可开启该扩展,之后稍做配置即可 ( PHP 5.6.17 )

2、手动添加 Zend Opcache 扩展。

shell > cd /usr/local/src/php-5.6.17/ext/opcache # 进去 PHP 源码目录下的插件目录
shell > /usr/local/php/bin/phpize # 生成 configure
shell > ./configure --with-php-config=/usr/local/php/bin/php-config
shell > make; make install # 完成安装
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

3、低版本添加 Zend Opcache 扩展 ( PHP 5.4.36 )

shell > wget http://pecl.php.net/get/zendopcache-7.0.5.tgz  # 官网下载源码包
shell > tar zxf zendopcache-7.0.5.tgz
shell > cd zendopcache-7.0.5
shell > /usr/local/php/bin/phpize
shell > ./configure --with-php-config=/usr/local/php/bin/php-config
shell > make; make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

# 之后的操作都一样了

二、配置 Zend Opcache

shell > vim /usr/local/php/php.ini

[opcache] # 找到该模块

zend_extension='/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/opcache.so' # 指定库文件

opcache.enable=1 # 开启 Zend Opcache

opcache.enable_cli=1 # 开启在命令行使用 Opcache

opcache.memory_consumption=32 # 共享内存大小,单位 MB ,根据实际情况设置

opcache.interned_strings_buffer=8

opcache.max_accelerated_files=4000 # 最大缓存文件数量,命中率低时,可以提高该限制 ( 4000 并不是整 4000 ,会比这个数多一些 )

opcache.revalidate_freq=60 # 查找文件更新间隔

opcache.save_comments=0 # 不保存文件、函数的注释,可以提升性能,但是对有些框架会产生问题,建议测试后设置!( 默认为 1 保存 )

opcache.fast_shutdown=1 # 启用内存快速回收

shell > service php-fpm restart # 现在 phpinfo 界面就可以看到成功加载了 Zend Opcache ,或 php -m | grep -i opcache

三、监控、管理 Zend Opcache

两个开源项目 ( 第二个貌似好搞一点 ) :

1、https://github.com/PeeHaa/OpCacheGUI
2、https://github.com/amnuts/opcache-gui

# 可以直观的看到内存使用量、命中率、缓存文件等等信息!
# 第二个项目是单文件部署,很方便。不过要给该 URL 设置好权限。

shell > unzip opcache-gui-master.zip
shell > mkdir /data/www/opcache ; cp opcache-gui-master/index.php /data/www/opcache/

shell > vim /usr/local/nginx/conf/nginx.conf

location ~ /opcache/index.php { # 在 server{} 中加入配置,可以使用 .*opcache.* 来代替 /opcache/index.php

    access_log off;

    allow 127.0.0.1;
    allow 36.110.41.194; # 只允许某 IP 访问
    deny all;

    location ~ \.php$ { # 这里也要加入对 PHP 的解析,否则会报 404 权限拒绝
    root /data/www;
    fastcgi_pass 127.0.0.1:9000;
    # fastcgi_pass unix:/dev/shm/php-cgi.sock; # 127.0.0.1:9000
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name;
    include fastcgi_params;
    }
}

shell > kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

# 现在去浏览器访问 http://IP/opcache/index.php 吧!
# 这就是 Zend Opcache ,挺方便、又实用!( 原来的 APC 也蛮好的!)

四、压力测试

shell > yum -y install siege

shell > siege -c 100 -t 30s http://127.0.0.1/info.php # 100 个并发,测试 30 秒 ( 示例 )

Transactions:            5624 hits        # 总请求数
Availability:            100.00 %         # 成功率
Elapsed time:            29.56 secs       # 总耗时
Data transferred:        117.17 MB        # 数据总传输量
Response time:           0.01 secs        # 响应时间
Transaction rate:        190.26 trans/sec # 平均每秒完成多少次请求
Throughput:              3.96 MB/sec      # 平均每秒数据传输量
Concurrency:             2.32             # 实际最高并发连接数
Successful transactions: 5624             # 成功处理次数
Failed transactions:     0                # 失败处理次数
Longest transaction:     0.15             # 每次传输最长时间 
Shortest transaction:    0.00             # 每次传输最短时间

 

转载于:https://www.cnblogs.com/wangxiaoqiangs/p/5336562.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
图像识别技术在病虫害检测中的应用是一个快速发展的领域,它结合了计算机视觉和机器学习算法来自动识别和分类植物上的病虫害。以下是这一技术的一些关键步骤和组成部分: 1. **数据收集**:首先需要收集大量的植物图像数据,这些数据包括健康植物的图像以及受不同病虫害影响的植物图像。 2. **图像预处理**:对收集到的图像进行处理,以提高后续分析的准确性。这可能包括调整亮度、对比度、去噪、裁剪、缩放等。 3. **特征提取**:从图像中提取有助于识别病虫害的特征。这些特征可能包括颜色、纹理、形状、边缘等。 4. **模型训练**:使用机器学习算法(如支持向量机、随机森林、卷积神经网络等)来训练模型。训练过程中,算法会学习如何根据提取的特征来识别不同的病虫害。 5. **模型验证和测试**:在独立的测试集上验证模型的性能,以确保其准确性和泛化能力。 6. **部署和应用**:将训练好的模型部署到实际的病虫害检测系统中,可以是移动应用、网页服务或集成到智能农业设备中。 7. **实时监测**:在实际应用中,系统可以实时接收植物图像,并快速给出病虫害的检测结果。 8. **持续学习**:随着时间的推移,系统可以不断学习新的病虫害样本,以提高其识别能力。 9. **用户界面**:为了方便用户使用,通常会有一个用户友好的界面,显示检测结果,并提供进一步的指导或建议。 这项技术的优势在于它可以快速、准确地识别出病虫害,甚至在早期阶段就能发现问题,从而及时采取措施。此外,它还可以减少对化学农药的依赖,支持可持续农业发展。随着技术的不断进步,图像识别在病虫害检测中的应用将越来越广泛。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值