美文网首页
PHP配置调优

PHP配置调优

作者: 济夏 | 来源:发表于2019-09-20 13:16 被阅读0次

    PHP 配置文件调优

    内存

    运行 PHP 时需要关心每个 PHP 进程要使用多少内存, php.ini中的 memory_limit设置用于设定单个 PHP 进程可以使用的系统内存最大值。

    这个设置的默认值是 128M,这对于大多数中小型 PHP 应用来说或许合适,不过,如果运行的是微型 PHP 应用,可以降低这个值,以便节省系统资源,反之,如果运行的是内存集中型 PHP 应用,可以增加这个值。这个值的大小由可用的系统内存决定,确定给 PHP 分配多少值是一门艺术,决定给 PHP 分配多少内存,以及能负担起多少个 PHP-FPM 进程时,可以根据以下维度信息进行判断:

    一共可以分配给 PHP 多少内存?

    每个 PHP 进程平均耗费多少内存?

    能负担起多少个 PHP-FPM 进程?

    有足够的系统资源吗?

    Zend Opcache

    opcache.memory_consumption = 64:

    为操作码缓存分配的内存(单位是MB),分配的内存量应该可以保存应用中所有 PHP 脚本编译得到的操作码,这个值根据应用的体量可以设置成不同大小的值。

    opcache.interned_strings_buffer = 16:

    用来存储驻留字符串的内存量(单位是MB),什么是驻留字符串呢?PHP 解释器在背后会找到相同字符串的多个实例,把这个字符串保存在内存中,如果再次使用相同的字符串,PHP 解释器会使用指针,这么做的目的是节省内存。默认情况下,PHP 驻留字符串会隔离在各个 PHP 进程中,这个设置能让 PHP-FPM 进程池把所有进程驻留字符串存储到共享的缓冲区中,以便在 PHP-FPM 进程池中的多个进程之间引用驻留字符串,这样能节省更多内存。

    opcache.max_accelerated_files = 4000:

    操作码缓存中最多能存储多少个 PHP 脚本,这个值的区间是 2000 到 100000 之间,这个值一定要比 PHP 应用中的文件数大。

    opcache.validate_timestamps = 1:

    这个设置的值为1时,经过一段时间后PHP会检查 PHP 脚本的内容是否有变化,检查的时间间隔由opcache.revalidate_freq 设置指定。如果这个设置的值为0,PHP 不会检查 PHP 脚本的内容是否有变化,我们必须自己动手清除缓存的操作码。建议在开发环境中设置为1,生产环境中设置为0。

    opcache.revalidate_freq

    = 0:

    设置多久(单位是秒)检查一次 PHP 脚本内容是否有变化。设置为0秒的含义是仅当opcache.validate_timestamps 设置为1时,才会在每次请求时都重新验证 PHP 文件,因此,在开发环境中每次都会重新验证 PHP 文件,在生产环境中则不验证。

    opcache.fast_shutdown =

    1:

    这么设置能让操作码使用更快的停机步骤,把对象析构和内存释放交给 Zend Engine 的内存管理器完成。

    文件上传

    如果你的应用允许上传文件,最好设置最大能上传的文件大小。除此之外,最好还要设置最多能同时上传多少个文件:

    file_uploads = 1

    upload_max_filesize

    = 10M

    max_file_uploads = 20

    如果非要上传大文件,Web 服务器的配置也要做相应调整。除了在 php.ini 中设置之外,还要调整 Nginx 虚拟主机配置中的 client_max_body_size 设置。

    最长执行时间

    php.ini文件中的 max_execution_time 用于设置单个 PHP 进程在终止之前最长可运行时间。这个设置默认是 30 秒,建议将其设置为 5 秒:

    max_execution_time = 5

    处理会话

    PHP 默认的会话处理程序会拖慢大型应用,因为这个处理程序会把会话数据存储在硬盘中,需要创建不必要的磁盘 I/O,浪费时间。

    缓冲输出

    output_buffering = 4096

    implicit_flush = false

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

    真实路径缓存

    realpath_cache_size= 64K

    相关文章

      网友评论

          本文标题:PHP配置调优

          本文链接:https://www.haomeiwen.com/subject/yixfuctx.html