gpt4 book ai didi

PHP资源释放

转载 作者:行者123 更新时间:2023-11-29 08:54:43 24 4
gpt4 key购买 nike

我的客户在共享服务器上拥有他们的网络托管帐户,但他们的帐户已被暂停,因为“导致严重的服务器过载”。我查看了代码,它是功能性编程的 php,使用了大量数据库查询。我查了一下,大部分都是“SELECT *”。该数据库的表包含 10 行或更多行以及超过 1000 条记录。

我想知道原因是否可能是所有 sql 查询都没有被释放,但我不确定“脚本执行”何时完成。是在函数执行完毕之后,还是整个页面已经渲染完毕之后?可能是表(结构或记录)的大小?大家还有其他想法吗?

最佳答案

这实际上取决于您的客户端使用的软件包类型、自定义编码的脚本类型或标准脚本(例如 WordPress)。

导致严重的服务器过载 - 可能有多种原因:

内存使用率高:该脚本未使用单例模型,也未将大量数据分配给数组、变量或包含大量文件。基本上是糟糕的设计和代码味道。

高CPU:非常长的脚本、在每个页面 View 上进行复杂计算的长迭代循环或无限循环(套接字)等。

高网络流量:屏幕抓取工具,例如从其他网站请求大量流量的爬虫,或者基本上是抓取大量外部内容的脚本,或者类似 torrent 跟踪器的东西。

磁盘使用率高:不断轰炸服务器IO堆栈(不断写入和读取磁盘)

具有大量数据库查询的脚本可能会陷入:高磁盘使用率(读取)+高内存使用率(迭代结果)+高 CPU(对结果进行操作))

您应该使用工具在本地对脚本进行性能分析:xDebugPQP ,并找出到底发生了什么。

如果您的客户认真对待该网站,那么他们应该投资购买 VPS。

关于PHP资源释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10284471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com