浅谈PHP性能优化之php.ini配置

admin3年前PHP教程54
目录
内存文件上传会话缓冲输出真实路径缓存
内存

默认设置

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 真实路径缓存的大小能得到更好的性能。

以上就是浅谈PHP性能优化之php.ini配置的详细内容,更多关于PHP性能优化之php.ini配置的资料请关注其它相关文章!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

东莞高防服务器专注游戏服务器防护

东莞高防服务器专注游戏服务器防护?东莞高防服务器专注于游戏服务器防护是一种相对专业的服务,通常针对游戏服务器防护的需求,有以下几个方面的特点和要求:防护能力:游戏服务器面临的攻击形式比较多,例如DDo...

php生成用户密码的两种方式

目录一、md5密码 二、hash密码PS:php生成随机密码的几种方法方法一:方法二:方法三:方法四:在用户系统中,生成用户的密码是很重要的,而简单的密码必然给一些不法用户开了一些门户,这里...

你真的了解PHP中的引用符号()吗

引言最近接手了五六年前的老项目,用的是CI2.0框架,在看框架源码的时候有个地方让我楞了一下,于是有了这篇文章。字符&的最早历史可以追溯到公元1世纪,最早是拉丁语et (意为and)的连写。&...

扬州高防服务器租用如何保障其稳定性

扬州高防服务器租用如何保障其稳定性?扬州高防服务器的稳定性需要从多个方面进行保障:1.硬件设施:扬州高防服务器租用服务提供商应确保其服务器硬件设施的质量和稳定性,包括主板、CPU、硬盘和内存等硬件设施...

海外站群服务器不同在哪租用美国站群服务器选择什么配置好

海外站群服务器不同在哪?一些朋友可能都不清楚站群服务器是什么,对此这篇就给大家来详细的介绍一下。另外选择什么站群服务器好,也是大家比较关心的问题,下文给大家对比了热门的站群服务器,相信对大家选择合适的...

php是前端还是后端(php语法)

php是前端还是后端“php是后端语言。因为php是一种通用开源脚本语言,是在服务器端执行的脚本语言,服务器端是属于后端的。当然,PHP的功能不止于输出页面,还有逻辑层,服务层和DAO,或许还有读写文...