zoukankan      html  css  js  c++  java
  • php apc 安装

     APC简介

      APC(Alternative PHP Cache)是一个PHP缓存。它在内存中存储PHP页面并且减少了硬盘的I/O。这对于性能的提升十分明显。你甚至可以在CPU使用率下降50%的情况下提升系统50%的性能。

      这篇教程我们会告诉大家如何在windows上安装APC。我已经在windows server 2003上成功测试。当然,在你也可以使用windows xp做为测试服务器。

      windows下安装PHP的APC拓展

      注意:你不能在一天服务器上同时安装APC和Zend Optimiser,二者只能选其一。

      按照下面的方法安装PHP的APC拓展。

      下载正确的版本

      我是用的PHP版本是5.2.6,附上下载地址:php_apc_dll for php5_2_6

      注意:确定你所下载的APC拓展版本对应了你的PHP版本。

      设置php.ini

      编辑php.ini文件,向其中的拓展区域部分添加如下代码

      extension = php_apc.dll

      重启服务器,使用phpinfo查看是否成功安装

      phpinfo();

    phpinfo查看apc拓展是否安装成功

      phpinfo查看apc拓展是否安装成功

      查看可用的内存

      创建一个php文件apcmeminfo.php

      print_r(apc_sma_info());

      //由缓存使用的内存数量使用这个公式来计算:

      total_memory = apc.shm_segments * apc.shm_size

      在这个例子中,可用的内存大约32 Mb。通常,如果我们需要在我们的缓存中超过32 Mb,我们应该增加APC使用的分段数量。然而,这可以导致web服务器错误,因此最好是增加片断的大小。我们应该逐步为缓存增加可用的总量,以避免内存的流失。

      默认的APC如下:

      apc.cache_by_default = On

      apc.enable_cli = Off

      apc.enabled = On

      apc.file_update_protection = 2

      apc.filters =

      apc.gc_ttl = 3600

      apc.include_once_override = Off

      apc.max_file_size = 1M

      apc.num_files_hint = 1000

      apc.optimization = Off

      apc.report_autofilter = Off

      apc.shm_segments = 1

      apc.shm_size = 30

      apc.slam_defense = 0

      apc.stat = On

      apc.ttl = 0

      apc.user_entries_hint = 100

      apc.user_ttl = 0

      apc.write_lock = On

      关于APC完整的参数设置的解释,请查阅:http://www.php.net/apc。

      下面是一个php.ini中的一个APC块。请将它们粘贴进你的php.ini文件中:

      apc.enabled = 1

      apc.shm_segments = 1

      apc.shm_size = 64

      apc.max_file_size = 10M

      apc.stat=1

      剩余其它的设置将会使用默认值。

      设置临时目录

      APC需要一个临时目录来存储文件。它会尝试在windows的临时目录缓存文件,事先请给临时目录写的权限。

      监控和调优缓存

    监控和调优apc缓存

      监控和调优apc缓存

      APC源包含一个php脚本,该脚本对于监控和调优性能的缓存是很有用的。

      1, 下载APC监控文件:http://pecl.php.net/package/apc

      2, 压缩包中的apc.php文件显示APC监控信息。

      3, 运行这个文件,你会看到一个图形显示你的缓存一些统计数据。

      4, 调优缓存,查看General Cache Information and Detailed Memory Usage and Fragmentation sections(总体缓存信息和详细的内存使用以及碎片部分)。

      5, 监视Cache Full Count和碎片百分比,如果Cache Full Count大于0,表示缓存已满并且频繁读写,因为没有足够的内存被分配。增加apc.shm_size可解决问题。

      6, 碎片百分比应该是0%,但是随着内存频繁的读写,其值会上涨。

      apc.php的安全

      注意apc.php的安全,应该使用安全认证的方式来控制apc.php的信息输出,比如:

      // Moodle user Authentication

      require_once("../config.php");

      require_once($CFG--->libdir.'/adminlib.php');

      require_login();

      require_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM, SITEID));

      // Disable APC Auth(APC 的安全认证)

      defaults('USE_AUTHENTICATION',0);

      //....

    APC配置主要讲解在WIN下的配置,类linux下的配置网上文章比较多 
    1.下载php_apc.dll 到PHP的ext目录下 
    2.修改php.ini 添加extension=php_apc.dll 
    在php.ini尾部添加配置项 
    ; APC Setting 
    [APC] 
    ;开启stat会报错 
    ;apc.stat=0 
    apc.enabled=”1″ 
    apc.shm_segments=”1″ 
    ;这里的问题,这里修改了默认内存配置WIN7下出错,不知道大家遇到没的? 
    ;apc.shm_size=”128″ 
    ; apc.ttl=7200 
    ; apc.user_ttl=7200 
    ; 修正參數 
    apc.ttl=”300″ 
    apc.user_ttl=”300″ 
    apc.num_files_hint=”1024″ 
    apc.mmap_file_mask=”E:/Wamp/tmp/apc.XXXXXX” 
    apc.enable_cli=”1″

  • 相关阅读:
    json_encode([0])
    try catch throw
    如何 lookback
    协程||进程
    客户错了?
    循环 php 变量会影响到传入的参数
    csv变成xls, csv乱码
    虚拟机不能git push
    数组下标大小写
    php 静态方法
  • 原文地址:https://www.cnblogs.com/breg/p/3509010.html
Copyright © 2011-2022 走看看