php中sleep()函数会不会大量销号系统内存或者CPU
答案:2 悬赏:20 手机版
解决时间 2021-04-05 02:49
- 提问者网友:容嬷嬷拿针来
- 2021-04-04 03:01
php中sleep()函数会不会大量销号系统内存或者CPU
最佳答案
- 五星知识达人网友:往事埋风中
- 2021-04-04 04:12
会。
正常情况下php以最快速度执行完脚本,将执行结果传给浏览器。你要考虑有很多用户访问你网站的情况,因为执行脚本的时候被sleep了,导致每个用户浏览网页的时候php都需要更长的时间去执行你的脚本,而脚本执行完毕之前内存是一直被php引擎占用的。所以当访问用户多的时候,就会导致有很多php引擎的实例同时运行,占用很多内存,但是这些php引擎却受到脚本的指使而在那边sleep(说得粗俗一点就是占着茅坑不拉屎)(正常情况下是执行完以后内存就释放了)。就好像八行道的大马路,如果只有一个司机车子停在中间然后睡觉,其他道路暂时还能通;但是如果有八辆车的司机并排停在路中间睡觉,这马路就不要想畅通了
cpu的话……好像影响不大,最多就是操作系统在调度进程线程的时候要多检查几个而已,没感觉。追问等待的时间越长消耗内存越多吗?追答看你的网站有多少人访问。如果只有一个人访问,那等待多久都没有区别。如果只有两个人访问,也差不多:如果两个人同时访问,那么就占两份脚本需要的私有内存空间。但是假设你有100个人访问,这100个人并不是同时;每次运行脚本本来需要0.5秒,每0.3秒就有一个人上来访问,那么最多可能就占你2份的私有内存空间。你现在加了一个sleep,导致运行脚本需要1秒,还是每0.3秒就有一个人上来访问,这样就变成最多可能占你4份的私有内存空间……
正常情况下php以最快速度执行完脚本,将执行结果传给浏览器。你要考虑有很多用户访问你网站的情况,因为执行脚本的时候被sleep了,导致每个用户浏览网页的时候php都需要更长的时间去执行你的脚本,而脚本执行完毕之前内存是一直被php引擎占用的。所以当访问用户多的时候,就会导致有很多php引擎的实例同时运行,占用很多内存,但是这些php引擎却受到脚本的指使而在那边sleep(说得粗俗一点就是占着茅坑不拉屎)(正常情况下是执行完以后内存就释放了)。就好像八行道的大马路,如果只有一个司机车子停在中间然后睡觉,其他道路暂时还能通;但是如果有八辆车的司机并排停在路中间睡觉,这马路就不要想畅通了
cpu的话……好像影响不大,最多就是操作系统在调度进程线程的时候要多检查几个而已,没感觉。追问等待的时间越长消耗内存越多吗?追答看你的网站有多少人访问。如果只有一个人访问,那等待多久都没有区别。如果只有两个人访问,也差不多:如果两个人同时访问,那么就占两份脚本需要的私有内存空间。但是假设你有100个人访问,这100个人并不是同时;每次运行脚本本来需要0.5秒,每0.3秒就有一个人上来访问,那么最多可能就占你2份的私有内存空间。你现在加了一个sleep,导致运行脚本需要1秒,还是每0.3秒就有一个人上来访问,这样就变成最多可能占你4份的私有内存空间……
全部回答
- 1楼网友:归鹤鸣
- 2021-04-04 05:19
不会,怎么会这么想追问哦,呵呵,感觉就像浏览器卡那一直在大量消耗cpu什么的呵呵追答你看视频暂停有没有这么想过?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯