PHP 性能优化 - php.ini 配置
2024-08-30 11:27:21
内存
默认设置
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 真实路径缓存的大小能得到更好的性能。
最新文章
- SQL--触发器
- JS打印页面指定区域
- Android错误:Re-installation failed due to different application signatures
- 浅谈URLEncoder编码算法
- XML到底是什么
- 国内外php主流开源cms、SNS、DIGG、RSS、Wiki汇总
- 如何导入hadoop源码到eclipse
- 跨域Ajax请求WebService方法
- .c和.h档
- 【逻辑漏洞】基于BurpSuite的越权测试实战教程
- UVa - 1616 - Caravan Robbers
- windows下VMware-workstation中安装CentOS
- ORACLE 存储函数
- CustomDrawableTextView
- C++ STL 顺序容器--list + 关联容器
- HGOI 20180224 题解
- 2018/04/25 基于 编译安装的 PHP7 安装 swoole 扩展
- jq的attr()与prop()之间区别
- WCF与WPF
- 使用 Win2D 绘制带图片纹理的圆(或椭圆)
热门文章
- USART_FLAG_TXE和USART_FLAG_TC
- 初识域渗透利器Empire
- [Luogu2458][SDOI2006]保安站岗
- 基于canvas实现钟表
- Linux shell脚本笔记
- JAVA学习笔记-1.Tomcat&;Servlet
- Redis真集群安装
- linux ";No space left on device"; 磁盘空间解决办法
- 小白学 Python(9):基础数据结构(列表)(上)
- C++ 11标准