1
hoythan OP 只要提供方法一律疯点感谢!
|
2
Strikeactor 2016-03-07 10:31:18 +08:00 1
啥语言写的?试试听云的探针看看能不能找到性能瓶颈
上线前不做压力测试这个。。你们老板要砍你我感觉还是有道理的 |
5
stupil 2016-03-07 10:33:05 +08:00 1
真的?
有各种工具啊 先用 web 载入监控工具啊,看时间浪费在哪里了。 然后看服务器上的日志,这时间都在作甚。 另外 4g 有点小, 再另外 linux 内存时常 90%以上很正常,不是跟 win 那种内存用多少占多少的机制,平时没事他都占着。 要看那个进程占了内存。 |
6
edsgerlin 2016-03-07 10:33:42 +08:00 1
带宽和 CPU 正常(是指利用率不高?),内存 90%+的话,大概是出现循环引用导致内存泄漏了吧。
|
7
andyL 2016-03-07 10:33:45 +08:00
Mark
|
8
arslion 2016-03-07 10:35:09 +08:00 1
就近找个夜深人静的时刻做做性能测试吧
(楼主你答应我在问题解决后告诉我们解决方案好不好 |
10
stupil 2016-03-07 10:39:42 +08:00 1
@edsgerlin
跟带宽没什么关系,看跑了多少服务 比如一个 nginx+ php+mysql+memcace , 那就有压力了。 nginx 开 2 个线程就差不多了 php 有点压力就会到 4678 个线程 很正常。 memcace 我就不讲了,反正给它的绝对不会吐出来。 |
11
daocao 2016-03-07 10:43:45 +08:00
只有我对几百 ip 表示:要看 同时在线么?
一天 10 万 ip 的,一般同时在线,也不过 300,500 。 |
13
Infernalzero 2016-03-07 10:45:00 +08:00 2
先确认是哪里慢, web 的瓶颈一般都是在数据库,而且你确认了带宽和 CPU 都没问题的话,很大可能性就是数据库出了问题,内存占用大的话有可能是查询语句没有优化,对应的查询没有索引,出现了过多的 filesort
|
15
Ansen 2016-03-07 10:47:39 +08:00 2
|
16
est 2016-03-07 10:49:17 +08:00 1
目测 SOMAXCONN 队列满了。
|
17
zacard 2016-03-07 10:49:49 +08:00 1
首先 F12 看看那个加载慢。。。
|
18
hoythan OP @Infernalzero 我不知道如何测试,因为不是某个资源或者某个数据载入慢,就是 TTFB ,就是刚点击页面载入特别慢。
|
20
asddsa 2016-03-07 10:51:07 +08:00 1
我觉得你是不是用了一键 LNMP 之类的东西,比如 WDCP 。
碰到一个客户是这样的,同时访问 10 个人就挂。 |
21
chztv 2016-03-07 10:52:53 +08:00 1
带宽才 4M ?目测太小了……
如果并发几百 IP 估计肯定不够吧,我们一般至少 20M 的带宽起步! |
22
Infernalzero 2016-03-07 10:53:22 +08:00 1
@hoythan 不是测试的问题,这就和看病一样,先排查出哪个环节出了问题
首先你先远程 debug 看下程序走到哪里开始慢了,上面我已经给了比较常见的情形了,多数都是访问数据库慢,内存占用那么多,很有可能是一个查询大量数据的 order by 引起的,排序的字段没有索引的话就 file sort 了 |
23
lazyyz 2016-03-07 10:53:49 +08:00 1
网站地址贴出来不就好了么?
|
24
paw 2016-03-07 10:53:50 +08:00 1
可能 1 、 socket 连接数过少,都在等链接? 2 、 php-fpm 的吗,是的话多开 PHP 进程把,按我理解 php-fpm 都是串行的,在处理完上一请求前不会开始下一条的,可能是排队在这里了。
PS ,用 chrome/firefox 的开发工具看下加载 timeline 先,截个图 |
25
R18 2016-03-07 10:54:04 +08:00
用的什么 dns ?
|
26
b821025551b 2016-03-07 10:54:21 +08:00 1
看看阿里云慢查询日志。打开数据库审计查看各语句执行时间。
|
27
hoythan OP @asddsa 是的没错,就是军哥的 lnmp 。但是我以前做游戏网站,也用这个,也是 wordpress ,一天 ip8000 都没问题的样子。
|
30
mahone3297 2016-03-07 10:57:55 +08:00 1
弱弱的问下。。。 TTFB 是什么东西?
lz 可以看看服务器日志,看看请求响应,确定时间是耗在网络上,还是服务器上。 |
31
kendetrics 2016-03-07 11:01:36 +08:00 1
@hoythan 公司的生产环境敢用 LNMP 的一键编译脚本,我敬你是条汉子
|
32
paw 2016-03-07 11:03:11 +08:00 1
刚打开网站看了下,估计就是 php-fpm 并发太小。。
|
33
gpw1987 2016-03-07 11:03:42 +08:00 1
我觉得楼主还是要把一些详细信息给些出来,就这么一句估计很难判断问题,比如你的服务器 VPS 这个你写了,用的是什么系统是 CENTOS 还是 DEBIAN 等,另外你用的环境 LNMP 还是什么,都跟这个有一定关系。
|
34
b821025551b 2016-03-07 11:07:42 +08:00 2
明显带宽不够。 |
35
alex321 2016-03-07 11:08:00 +08:00 1
图片。。图片大而且多。。
一张图片都 15+k 的,还有好几张 200k 左右,更加有一张 287k 。。。。 考虑到客户端浏览器对同一域名的并发请求限制,图片建议使用独立的域名处理或者上 cdn ,并且不处理 cookie 什么的信息。 |
36
vainly 2016-03-07 11:08:10 +08:00 1
各种图片加载好慢
|
37
db520 2016-03-07 11:09:05 +08:00 via Android 1
不是一般的慢,一张图片加载了 50 秒
|
38
pupboss 2016-03-07 11:09:25 +08:00 1
@mahone3297 就是发出请求到接收到首字节的等待时机
之前我也遇到过类似的,不过不是高并发引起的,初步排查是 Chrome 插件,还有一个字体的渲染(字体在另外的域名下)导致的,反正最后就是字体放到自己域名下,貌似是就没问题了。估计跟你情况不一样,仅供参考 |
39
tuimaochang 2016-03-07 11:09:38 +08:00 1
我还以为是劳务纠纷呢-_-#
|
41
jarlyyn 2016-03-07 11:13:56 +08:00 1
4MB 带宽?
感觉不上 cdn 的话,小了。 另外, opcache 之类的 php 缓存开了么? |
42
pupboss 2016-03-07 11:15:21 +08:00 1
点开网站看了下,速度感人。
百分之八十是带宽的问题,网站图太多,所有资源还都不缓存,作孽啊 |
43
jydeng 2016-03-07 11:15:23 +08:00 1
图片太慢了,网站速度还可以
|
44
ztrt 2016-03-07 11:16:30 +08:00 2
https://pts.aliyun.com/lite/
还有,别告诉我你 top 都不会用 |
45
mhycy 2016-03-07 11:17:16 +08:00 1
楼主,别告诉我你选的是阿里云 1M 带宽的机器,下载极其缓慢。。。
另外,一开始的 WAIT 特别长,需要排除可以试试放个静态页看看问题出在哪。排查看看哪个地方有问题。 |
46
Havee 2016-03-07 11:17:30 +08:00 1
既然你做了运算的缓存, TTFB 还长,任务在排队么...
信息量太少了 |
47
Havee 2016-03-07 11:20:34 +08:00 1
作死,带宽太小,图就不能压缩下么....
|
48
Andy1999 2016-03-07 11:21:48 +08:00 via iPhone 1
|
49
gkiwi 2016-03-07 11:23:38 +08:00 1
通过 chrome dev tool 看了下网站,觉得有这样几个问题:
1.第一个请求,1vp.me 后台是不是做了很多查询??这个请求需要 10 多秒才能 ok ,是时间最长的一个请求,页面东西很多,性能应该在 SQL 上,这个做上缓存能解决,比如 5 分钟才做更新,毕竟首页不一定需要变动频率可以慢点。 2.jquery js 之类的不要放在前面 head 中,还有就是百度的 hm,和 cnzz 要一个就好了吧,百度的 hmjs 也应该放到 html 最后。 3.首页图片资源很多,图片多,加上各种 css , js ,文件请求数量太多,而 chrome 在同一个站并发请求数是有限制的(记得是 12 个)。解决方案:加上两个处理,一个是 img lazy load ,一个是通过比如七牛 cdn 做资源映射。 4.首页都应该是小图,但是我发现部分图片加载的都是大图,应该就是 wordpress 中你们上传的原图大小。建议是:参考 3 ,走 cdn 时候,加上切图的参数,让七牛来处理图片大小。 |
50
kingme 2016-03-07 11:27:52 +08:00 1
图片为什么不上 CDN 啊。。。。打开首页居然加载了好几 MB 文件还没加载完。。。
|
51
zzzo 2016-03-07 11:29:39 +08:00 1
建议楼主做阿里云的 CDN 吧, 图片加载太慢了
|
52
KoleHank 2016-03-07 11:30:26 +08:00 1
我加载时间最长的一张图片 507kb 的花了 1.2 分钟。
图片太多,浏览器对同一域名的请求数是有限制的,建议将图片单独弄个子域名,并且让图片搭配上 cdn 估计会好一点。 |
53
Roope 2016-03-07 11:33:05 +08:00 1
主题挺好,首页的响应很慢,大概要 3.5 秒。
|
55
yahoo21cn 2016-03-07 11:33:42 +08:00 1
阿里有时时的流量图呀,你看看图,是不是带宽到顶了,我一个个人站每天没几个人访问,前面用的 360 的 cdn 缓存顶着,删除了一大批 spider , 5m 流量还老不够用呢,你这个必然超。多买几个阿里虚拟机,每个流量加到 5m ,做流量负载均衡。阿里带宽 5m 以上价格非线性增加,一定不要直接加。
|
56
Liang 2016-03-07 11:36:45 +08:00 1
阿里云的带宽限制得很死,不像共享带宽,瞬时可以去到很高,加载完浏览器缓存后就稳定了。
图片放 CDN 吧,或做延时加载,图片尺寸也规范一下,应该能提升 60%。 |
57
odirus 2016-03-07 11:39:18 +08:00 1
阿里 CDN 挺靠谱的,按照你这个流量,也花不了多少钱。
|
58
stackboom 2016-03-07 11:43:51 +08:00 1
阿里云好像提供压力测试的服务,每月有免费的额度。
静态文件上 cdn 吧。 |
59
lution 2016-03-07 11:50:24 +08:00 1
首页也太大了, 3.7MB ,打开足足花了 1 分钟, 4M 带宽,图片都在本机,只有一个人请求,满速还要 7 秒多呢,你算算 10 个人同时请求需要多久?
|
60
programcat 2016-03-07 11:50:55 +08:00 1
光图片和资源 一共 5M !!
光图片加起来就 4MB 你自己算算吧 你带宽 4M 。 平均上传速度 512K/S 一个人第一次打开你网站 理论上需要 8 秒 我看了你大多数图片是有浏览器缓存,所以第二次打开就快很多了 但是第一次这么久也不能忍啊 何况这么多人访问 解决方案,压缩首页图片质量,首页图片敢 4M ,,你比大多数公司都 NB ,要么瀑布流,要么延迟加载! 在价格 proxy_cache 减轻服务器压力 |
61
aldnoah 2016-03-07 11:51:21 +08:00 1
图片放 CDN 应该能好很多。
|
62
programcat 2016-03-07 11:52:10 +08:00 1
顺便上下我自己的网站,楼主你参考下 http://www.programcat.com/
|
63
SlipStupig 2016-03-07 11:54:52 +08:00 1
带宽不够啊
|
64
chztv 2016-03-07 11:55:46 +08:00 1
打电话给阿里云吧,让他马上给你升级带宽,至少 50M 走起啊
另外 CDN 也是必须的,图片优化下, CDN 自动裁图也必须的,不用显示原图的地方必须小图啊…… 哎,你们公司没有前端吗? |
65
lovedboy 2016-03-07 11:56:00 +08:00 1
看 web server log ,是动态请求慢还是什么,如果动态请求不慢,是不是静态资源加载慢?
|
66
cxh116 2016-03-07 11:56:04 +08:00 1
4m 的带宽也就是 400kb,一个人下图片就把你的带宽用完了.
把静态资源放到 OSS 里面吧 |
67
dark456852 2016-03-07 12:00:02 +08:00 1
建议转文字站,这点带宽跑那么大的图片~
|
68
mahone3297 2016-03-07 12:19:29 +08:00 1
lz 有说什么网站吗?大家如何知道 lz 说的是什么网站?
|
69
tpircsboy 2016-03-07 12:23:39 +08:00 1
图片太多了,可以考虑用像七牛这样的云存储,主站上只放 html 和 js
|
70
RaymondYip 2016-03-07 12:29:24 +08:00 1
静态资源上 cdn 啊
|
71
yeyeye 2016-03-07 12:32:35 +08:00 via Android 1
@mahone3297 有一种方式叫仔细看评论
|
73
thwawar 2016-03-07 13:08:54 +08:00 1
一看就是带宽的问题,楼主还说不是带宽的问题。
|
74
tftk 2016-03-07 13:09:10 +08:00 1
没有数据和 log 只能靠猜的。
既然你知道 TTFB 慢,就用 TTFB - time_pretransfer ,得出的时间是你程序处理时间, 如果时间很长,证明瓶颈在程序,如果时间很短,大概可以证明是网络慢了。 |
75
dreamcountry 2016-03-07 13:23:38 +08:00 1
4M 带宽满速才 512KB ,还没干别的事只打开一个图片都得上秒,带宽扩到 40Mbps ,应该问题基本解决。
|
76
admol 2016-03-07 13:40:50 +08:00
LZ 到时候贴下自己的解决方案呗
|
77
phoneli 2016-03-07 13:42:13 +08:00
如果你相信我。私聊我。我们一起加 qq 搞。免费义务
|
78
sunine 2016-03-07 13:45:48 +08:00 1
楼主代码抄 36kr 有点多啊...先把注册那里 36kr 的 logo 换成自己的吧。
|
79
hoythan OP |
80
msg7086 2016-03-07 13:48:04 +08:00 1
4mb 带宽这……你开啥玩笑。
|
81
motecshine 2016-03-07 13:54:24 +08:00 via Android 1
为什么不用 phpstudy 一键安装
|
82
vincentxue 2016-03-07 14:00:37 +08:00 1
哈哈心疼楼主,围观下。
|
83
alex321 2016-03-07 14:08:18 +08:00 1
刚才没注意看带宽。。
1 、图片尽可能压缩到 5k 内另存为缩略图,首页和列表页调用使用缩略图,启用独立域名上 cdn ,比如 http://img.1vp.me ; 2 、如果上了 cdn ,带宽基本能满足,如果没上,赶紧加带宽,相比之下使用 cdn 估计会稍微便宜些; 3 、看着似乎是 wp 做的,我对 wp 不熟悉,应该可以有数据库缓存插件和 lazyLoad 的 js 插件什么的,如果不是首页基本都是读取,查询的 sql 太多了额,尽可能优化和缓存掉,实在要实时读取可以考虑异步,然后开 mysql 的 slow query 分析; 4 、至于环境,不太了解各种一键脚本,生产环境都是用自己手工写好的脚本; 5 、 Nginx 和 php-fpm 的参数并不是越多越好,过多会爆内存的。 |
84
iyaozhen 2016-03-07 14:17:30 +08:00 1
确实卡,后面刷新了几次就看不了了。
应该是图片太多了,上 CDN 吧,七牛什么的。人肉 SEO : https://iyaozhen.com/qiniu-cdn-wordpress.html 还有,上线前压测很重要,不要觉得并发能到多少,还是要靠数据说话。 |
85
lovedboy 2016-03-07 14:17:34 +08:00 1
首页 97 次 mysql 查询==
|
86
likuku 2016-03-07 14:28:23 +08:00 1
看到 34 楼 @b821025551b 的检测截图,它一个页面 32 个请求,总传输量 3.2MB...
页面作这么肥, 4M 带宽...就算是 4MBytes/sec 的,也就一秒能完整传完一个页面嘛。 要么页面和元素瘦身,要么 js,css,和图片都丢去带 CDN 的第三方存储服务商。 |
87
realpg 2016-03-07 14:28:57 +08:00 1
几百 IP 卡的不行。我觉得同时在线 20IP 就应该卡得不行了……
|
88
breeswish 2016-03-07 14:40:02 +08:00 1
首页 97 次查询你这个写得也是不卡就不科学了啊
(另外我首次加载超过 2 分钟了还在 waiting ,没下载到 HTML |
89
stupil 2016-03-07 14:43:29 +08:00 1
动静分析是要做的。
把图片 js css 等静态文件都扔到 cdn 上,比如 oos 或者七牛等 首页都在查什么啊? 这么久都没出来。能再设计设计不,先放个空数据,然后进行再手动触发查询。 你的 memcache 呢? mysql 有工具可以看 slow , top10 |
90
xp0729 2016-03-07 14:51:18 +08:00 1
歪个楼,看标题还以为楼主执行了 rm -rf *
|
91
yxzblue 2016-03-07 14:53:47 +08:00 1
八成不是用 PHP 做的。
对不起,没办法 |
93
lavdemo 2016-03-07 15:03:41 +08:00 1
之前有篇文章《世界顶级 Web 性能专家教你优化出高性能网站》 http://www.html-js.com/topic/1668
有上中下,其中很重要的一点就是要做图片优化, 50%的答案都重点强调了图片以及图片与页面大小的关系。 |
94
zi 2016-03-07 15:06:30 +08:00 1
广东电信, TTFB 30+s 。。
各种图片用了 25+s ,应该就是带宽不够了 |
95
owlsec 2016-03-07 15:19:02 +08:00 1
静态资源( js 啊 css 啊 jpg 啊这类)全部丢到 七牛云。
|
96
chuhemiao 2016-03-07 15:32:38 +08:00 1
目测图太大!!!!
https://tinypng.com/ |
97
chenwl 2016-03-07 15:51:14 +08:00 1
带宽问题~
|
98
lemonda 2016-03-07 15:51:41 +08:00 1
最近把一个机构的一堆 WordPress 从他们之前选的一堆固定带宽阿里云上搬出来,大部分是 1M ,迁移起来都很痛苦, 流量不大选按流量付费。
楼主你先备份 uploads 文件夹,然后用 EWWW Image Optimizer 或者 wp smushit 优化下图片。 看到你已经在用 CDN 了,地址里缺了 wp-content/uploads/,所以现在 404 了 |
99
thwawar 2016-03-07 15:55:17 +08:00 1
我觉得楼主一直避开谈宽带的问题,有骗流量的嫌疑
|
100
x86 2016-03-07 16:00:21 +08:00 1
上个厕所回来还在加载
|