linux - php循环对服务器造成的压力问题?
PHPz
PHPz 2017-04-11 09:57:47
0
7
682

主要实现功能:
linux服务器上使用php脚本做每隔10秒的定时查表任务。

当前实现方法:

php脚本进程守护工具: supervisor
php脚本逻辑:

while(true) {
    // some logic code...
    // 查询不大的表中的特定数据并处理
    sleep(10);
}

1. 请问这样做会不会对服务器带来很大的压力呢?
2. if 1. true, 如果会的话,压力会主要出在什么地方?
3. php脚本的类似定时任务有什么更优方法实现?

PHPz
PHPz

学习是最好的投资!

reply all(7)
洪涛

Linux cron服务

    crontab -u www -e
左手右手慢动作

crontab 啊, 定时任务 用crontab 比较常用吧, 10s运行一次对服务器没啥压力啊, 又不是并发,

伊谢尔伦

linux中sleep是挂起进程或是线程了,每10s检测一次的频率算很小了,不大可能给系统造成压力。定时检查在一些知名开源的项目中也很常用,尽管用就是了。单独开一个线程或是进程专门用作定时检测。

巴扎黑

如果条件允许,最好把web服务器和这种脚本服务器分开。这样脚本服务器的效率能得到保障,不会收web请求量的影响。

大家讲道理

有可能,要看你操作的内容,如果占用内存一直上升,但是没有释放掉,最后服务器应该会完蛋吧。。东西用完释放掉应该没问题

刘奇

毫无问题.关键看你执行的是什么.

小葫芦

如果不sleep的话,那CPU使用率还是很高的。之前有在阿里云测试过,看过监控。CPU基本在50%左右(不过服务器配置也偏低,个人用);加上sleep,CPU基本1%以内


不过个人的感觉影响的因素,不单是CPU。比如带宽,硬盘读写,内存等均有可能。只是看业务逻辑不同,影响的因素也不同~

另建议可以用usleep,当时好像是折算后0.1秒的时候性能就区别比较大(不过具体数值忘记了,自己测吧!)

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template