• PHP 性能优化


    内存

    默认设置

    memory_limit = 128M

    单个进程可使用的内存最大值,这个值的设定可以从以下几点考虑:

    • 应用的类型。如果是内存集中型应用,可增加该值;
    • 单个 PHP 进程平均消耗的内存,该值可通过多次运行同一个脚本来计算平均值;
    • 能负担多少个 php-fpm 进程;该值等于分配的总内存除以单个 PHP 进程平均消耗的内存;
     

    文件上传

    默认设置

    file_uploads = On
    max_file_uploads = 20
    upload_max_filesize = 2M
    max_execution_time = 30 值 为 0 代表没有限制
    • 设置 max_file_uploads 来决定同时允许多少个文件上传;
    • 设置 upload_max_filesize 来决定每个文件上传的最大值;
    • 如果是长时间任务,尽量使用队列来处理,因此,可适当缩短 max_execution_time 的值;

    注意, Web 服务器也可以设置文件上传大小及超时时间,不能仅仅以 php.ini 的设置为准;

     

    会话

    PHP 的会话默认是保存在硬盘中

    session.save_handler = files

    在实际应用中,应当将会话保存在内存中。可使用 Memcached 或者 Redis。这样做主要有两个好处:

    • 提高速度;
    • 有助于后期的扩展,如果会话数据存储在硬盘中,不便于增加额外的服务器,如果把会话数据存放在 Memcached 或 Redis 里,任何一台分布式 PHP-FPM 服务器都能访问会话数据。

    可通过 PECL 安装 memcached 扩展并设置默认的 save_handler 为 memcached

    session.save_handler = 'memcached'
    session.save_path = '127.0.0.1:11211'
     

    缓冲输出

    默认值

    output_buffering = 4096

    在较少的片段中把内容传递给访问者的浏览器,能减少 HTTP 请求总数。 因此,我们要让 PHP 缓冲输出,默认情况下,PHP 已经启用了输出缓冲功能,PHP 缓冲 4096 字节的输出之后才会把内容发送给 Web 服务器。

    注:如果想要修改输出缓冲区的大小,确保使用的值是 4(32 位系统)或 8(64 位系统)的倍数。

     

    真实路径缓存

    默认值

    realpath_cache_size = 4M
    realpath_cache_ttl = 120

    PHP 会缓存应用使用的文件路径,这样每次包含或导入文件时就无需不断搜索包含路径了,这个缓存叫真实路径缓存(realpath cache),如果运行的是大型的 PHP 文件(如 Composer 组件),使用了大量文件,增加 PHP 真实路径缓存的大小能得到更好的性能。

  • 相关阅读:
    JavaScript手把手教你写出令人窒息的烂代码
    查询数据库表名,数据表信息,MySQL Key值(PRI, UNI, MUL)的含义
    【转载】 世界读书日:来自李开复的六个读书建议
    安装python库roboschool运行报错:ImportError: libpcre16.so.3: cannot open shared object file——解决方法
    Python 二次开发 AutoCAD 简介
    MATLAB元胞数组删除一个元素
    英语单词积累
    一战后德国要支付1320亿金马克的赔款,都按期足额付完了吗
    cad无级缩放
    [转]mysql导入数据load data infile用法
  • 原文地址:https://www.cnblogs.com/a609251438/p/11872038.html
Copyright © 2020-2023  润新知