怎么配置php.ini,进行PHP性能调优?
发布时间:2022-07-09 13:01:01 所属栏目:PHP教程 来源:互联网
导读:用于生产环境中的PHP需要对其进行优化,让PHP自身发挥更好的性能,除了写好PHP代码,还要配置好php.ini。下面我们就从内存、文件上传、会话缓冲输出、真实路径缓存这几个方面讲解php.ini的配置调优。 内存 默认设置 memory_limit = 128M 单个进程可使用的内
用于生产环境中的PHP需要对其进行优化,让PHP自身发挥更好的性能,除了写好PHP代码,还要配置好php.ini。下面我们就从内存、文件上传、会话缓冲输出、真实路径缓存这几个方面讲解php.ini的配置调优。 内存 默认设置 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 真实路径缓存的大小能得到更好的性能。 (编辑:开发网_郴州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |