IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP的内存限制Allowed memory size of之memory_limit -> 正文阅读

[PHP知识库]PHP的内存限制Allowed memory size of之memory_limit

最近有公司业务不断上升,用户不断新增,区域IT人员反馈说后台管理系统某些更新操作会报错,

进入服务器日志目录一探究竟:tail 2021070114.ERROR.log

发现问题如下:

msg:Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)

初步断定是服务器配置问题:

查看配置值文件

配置memory_limit的内存分配,标配是512M。一旦独立的线程超过了512M,那PHP会报错:?? ?Fatal error: Allowed memory size of 33554432 bytes对于8G内存的服务器,如果同时并发的响应达到50,每个都是512M的峰值,那估计也是服务器会卡死的时候。??

解决方案:

最后又复现了几次问题,同一条数据,第一次失败,第二次成功,在最后定位是多台虚拟服务器配置不一致导致的,所以让运维吧服务器配置检查,配置,重新服务器后,问题解决了,

最后寄语:

?尽量降低512M的内存配置,如果调整至128M,64M,服务器的负载基本能下降一半左右,如果能调整至32M效果更好。但是对于应用的要求就更高,很多表建立初期就没有考虑到这个问题,如果你要采用memcache作为数据的存储,必须提前完成优化数据表的设计部署,降低独立线程PHP的内存使用量,服务器的响应和负载降低的就不仅仅是几个百分点的效果了。

温馨提示:

php5中:对于memory_limit的设定已经从以往的8M扩大到128M的上限。对于配置中的定义解释是:?? ?memory_limit = 128M ? ? ?; Maximum amount of memory a script may consume (128MB)?? ?最大单线程的独立内存使用量。也就是一个web请求,给予线程最大的内存使用量的定义。现有的大部分网站或者论坛应用中,应用软件的配备一般都是以如下的形式搭建:?? ??? ?Nginx(Apache)+PHP+Memcache+Mysql?? ?对于以上的应用软件的采用,优点我就不再多说。但对于Memcache的使用就是为了减少对于数据库的访问的频率的降低,也是提高服务响应的一种办法。但是对于memcache和数据库的数据存储有区别的是,memcache的数据并不是以上数据的形式存储在内存中,而是抽象化了之后以字符的形式,hash表的形式存储在内存之中。这样的存储区别导致,每次memcache的数据抽取必须全部数据反序拟化一次,将所有的数据导入进独立的单一线程中,然后第二部才是进行过滤和抽取你所需要的数据。在应用过程中,如果是读取数据库的数据,大家应该知道,优化的办法应该是在SQL语句中比保证第一次过滤尽量是提高准确性,只取需要的字段,不要全部所有字段取出之后再在应用中过滤得到自己想要的字段,这样对于服务器的负载会有本质的区别。?
?如果采用memcache,必然做不到数据库在在第一次就精确过滤这点目标。那么就需要在开始设计表的同时就需要考虑到这点,尽量保证被memcache数据表尽量保证数据的较少,可以多分表来完成。?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-07-05 20:17:07  更:2021-07-05 20:18:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:28:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码