
1 vibbow 201 年 3 月 22 日 cUrl性能没那么差劲的啊。 采集封账号是因为采集写入数据库时特别耗CPU/硬盘,不是cUrl的问题。 请检查是不是你框架的性能太低了,毕竟用框架的话有那么多路由等等的东西需要处理。 |
2 vibbow 2014 年 3 月 22 日 还有请检查session锁的问题。 |
3 a2z 2014 年 3 月 22 日 curl性能很好啊,我用curl multi写的扫描器能开200个线程都不卡。 你用curl的时候没有把整个thinkphp框架都include了吧? |
4 yakczh 2014 年 3 月 22 日 写个单独的php脚本 里面只包含curl,运行一下,看cpu占用多少 |
5 2code 2014 年 3 月 22 日 1) 机器会不会太差? 2) curl 抓取的内容是否要缓存一下,是否必要每次都重新抓? 3) 考虑换一种方式做实时刷新,不要用ajax轮询 |
6 KKKKale 2014 年 3 月 22 日 via iPad curl的性能很好的,查查别的原因吧 |
9 info007 OP 昨天把PHP版本更新到5.3好像性能上去了很多。原来是5.2的。用AB做压力测试1000并发CPU不到9% |
11 wwek 2014 年 3 月 22 日 还用虚拟主机? |
12 wwek 2014 年 3 月 22 日 楼主可以采用 如果判断支持html 5 用websockt 做实时信息。 如果低版本的 可以用flash做兼容 你这个性能问题。继续优化下代码。 实在是扛不住 。加机器群集啊。 |
13 wwek 2014 年 3 月 22 日 还有 mysql不是给你做高并发用的。 请加上redis之类 |
14 pubby 2014 年 3 月 22 日 访问量大的话,CPU高很正常啊。 楼主没交代实际的访问压力。 还有找瓶颈的话建议开xdebug,使用profile看看具体分析报告。 当然xdebug会影响性能,生产环境建议单独部署一个开xdebug的环境,然后通过前端倒入一定比例的流量进行测试分析。 |
15 yakczh 2014 年 3 月 23 日 netstat -an |grep 'ESTABLISHED' |grep 'tcp' |wc -l 看一下连接数是多少? |
16 heyli 2014 年 3 月 23 日 用了JQUERY来的GET来调前端的PHP。然后用1秒刷新一次 这才是要命的地方 前端显示数据的PHP文件建议直接从redis读数据 后台有个守护进程负责刷新redis 有能力的话建议长连接 https://github.com/ideawu/icomet https://github.com/wandenberg/nginx-push-stream-module |
17 info007 OP 忘记提了。我最新端PHP的地方是用了MEMCACHE来缓存的。如果有数据就直接显示出来。如果没有数据才会去调用CURL读中间层的数据。中间层和后端数据库没有加缓存。本来是在中间层和数据库之间加缓存的。后来改成了前端加缓存。这样前端就减少了和中间层的通信。请问这样合理吗? 另问HHVM(FACEBOOK开发的一个开源项目)做服务器。性能很高。不过就是特别容易挂掉。听说是内存泄露的BUG.也有补丁。因为用的是RPM安装的。这种东西用到实际的生产环境中稳定性不知道如何?现在打算是写一个监控程序来做监控HHVM.如果挂掉了马上重启。不知道这样行吗? |
18 info007 OP 还有一个问题就是想做定时任务。是用的LINUX的计划任务。可是LINUX的定时任务最低刷新时间是1分钟。想改成几秒刷新一下的。有没有好的办法?谢谢 |
19 setimouse 2014 年 3 月 24 日 via iPad http长连接使用comet技术。 一秒一次get上线肯定挂。 |
20 sivacohan PRO 开发和测试在一台机器上吗? 如果js写的不好的话,cpu消耗也是非常恐怖的 |
21 info007 OP 用HHVM做服务器一堆坑啊。会在/tmp目录产生很多空SESSION。。。还没跑一会呢。就把服务器给弄挂了。。 |