表现:按住F5刷新网页,不到20秒,网站直接502了。
vps配置:单核E5,1G内存(512MB内存同样出现此状况),20G硬盘。digitalocean家的。
系统环境:centos6.5 x32
软件环境:lnmp一键安装包
网站程序:wordpress
刷新时,查看VPS状态,内存一直剩余有三分之一,cpu占用率93%-99%之间,偶尔逼近100%但没到达过。
从网上搜了一堆关于502的解决方式,配置调整后依然无效。。。。
请大神指教,谢谢各位。
是军哥的那个lnmp一键安装包么?
我们现在也在用,以前常502,后来请了一位专门运维的专业人士来检查,调整后有改善。
加大 php-fpm 同时可运行进程数 + 扩大到更大内存 + 设置php脚本超时时间 + mysql加大cache + CDN缓存静态资源
你说的 CPU占用率90以上,十有八九是某个php脚本运行了耗时操作,例如我司之前遇到的,当GFW很强或海底光缆抽风的时候,QQ互联插件等需要访问国内服务器的脚本,会造成502,只能强制设置每个php脚本运行30后就超时断开。
肯定是这样啊,wp太重了。
http://v2ex.com/t/65981
看回复
目测wordpress
wordpress需要安装cache插件。lnmp默认装完需要修改/etc/my.cnf增加连接数
是的。请问你说的“调整后有改善”是不再出现了还是刷新时间变长才会出现啊?
你说的这几种方式:加大 php-fpm 同时可运行进程数(已加) + 扩大到更大内存(从512MB升级1G) + 设置php脚本超时时间(已设置) + mysql加大cache (已加)+ CDN缓存静态资源(未处理),因为没效,所以发帖来问了。我没有使用国内的第三方服务。感谢。
一定会这样吗?我在老鹰主机最低配上搭的wordpress也不会这样啊。。。。
这个帖子之前看过了,回复里涉及的参数调整都尝试过,问题仍然没有解决。而且我测试了多个其它人用VPS建的wordpress站,F5刷新一样502,囧啊
谢谢,我先试试看
果然啊,hhvm的没有,军哥的1.1会的,加了静态化和cdn的不会
弄不死那只是压力不够
虚拟主机不见得比你VPS配置差的,但是你长期占用大量资源肯定给你停了
再就是可能IP并发上面可能限得比较死
我刚刚测试了老鹰一样会跪
你可以用这个压力测试一下
里面三个变量赋值,就行了。
g_lst_target = js['target']
g_target_host = js['host']
g_thread = js['thread']
https://github.com/mengskysama/ProxyDDoS
加缓存就好
感谢,最近准备测试一下hhvm,国内的cdn服务信不过啊,各种状况。。。
测试了一下,可能压力不够,只是打开页面变的巨慢,没有直接502,比我的vps靠谱多了
请问你说的加缓存,是给什么加缓存啊?
一般限制下单IP的并发就行了
http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html
一般人也不会压力测试你吧。。。
看起来是好东东,没环境,你能不能对我的站点试试?
http://kn007.net
其实1楼说的没错,你可以看下实际导致502的原因,看php或nginx的log。
你可以考虑使用缓存,比如mc,对db和obj做缓存。甚至于页面。
你可以看看我的,随便刷新。。。
http://kn007.net
好硬
是的,准备限制下单IP并发,主要是希望VPS能支撑常规的F5刷新产生的并发。已狠下心把延迟时间调整为之前的3倍,现在刷新不直接502了,换成直接卡半天。。。
老熟人,经常去你博客看你乱喷,加过MC和eAccelerator,也是很无语。为毛你的VPS文章没有一篇比较系统一点的啊?关于VPS配置能不能写篇系统一些详细一些的,比如可以从LNMP环境的搭建开始,然后做过的优化,防CC之类的,直到你安心写文不折腾为止,一次写不完,开个系列也行啊,就像你的开博三年历程一样。太缺这样的干货了。。。
完全没有负载。。。
额,你是?。。多谢关照。
简单怎么防DDOS和CC,还有其他做缓存,博客以后会慢慢发表吧。希望到时能有所帮助。
怎么说呢,我之前挺有时间和兴趣,也有人问我问题,也乐意回答。然后现在有几个朋友已经通过给别人维护赚钱了。。。我有点羡慕,他们最少都是100/次收的,大发就是几百块收的,他一直教导我,对小白要宰。。。据大发说,他现在手上帮人搞的阿里云都不少了。
你也知道博客这么多年一直没有投放广告其他的。一直没有收益,只有支出。我也想看看能不能学习朋友一样,帮人维护弄点外快,不过我又没定主意,很矛盾的心理。
感觉博客现在没啥人气。发这些也不一定有人看。很头疼。我不像别人会做主题,给博客带来流量,我会的只是php和整个服务器的调优,而css和js就是简单基于一些框架修改。
到现在一直没定位我的博客,最开始想抒发情感,慢慢又放折腾的文章。但是这么多年了。我在vps的支出都快超过1W,也是各种坎坷走过。我发了历时3年的文章,其实是很痛苦的,如果真的人有人看,有人懂,我都可以不用发这种文章的。我也不知道自己能不能坚持,写这些历程文章的目的就是为了鞭策自己,继续写下去。不过还是很迷茫。
不好意思,说的有点乱,想起博客,心情复杂。只是希望自己走的路是对的。
刚刚我用家里的电脑压力测试来着,好像现在连接太多连不上了。。
马上到家就关掉,现在不知道还有没有在跑。
我请求的是搜索好像还是会跪。
会不会是因为我重启了mysql
search确实是个缺口。我看到有负载了0.64 0.90 0.92
感觉你的博客各方面都挺快的,UI也不错。
感觉没必要去优化搜索了,我想没人这么无聊去压力测试的。
搜索我也不知道怎么优化了,mysql已经是最快了。除非禁用内部搜索,使用外部搜索了。
如果是数据库瓶颈。可以考虑sphinx,博客这种微量的数据,连分词器都不需要。绝对比mysql模糊搜索快很多。
sphinx不懂啊。。。主要是
搬瓦工一直502。。
你那个ss服务也是通过这种方法限制的么
看着复杂而已,其实就是几行配置,配置好数据源就OK不需要你在优化啥的了,而且和mysql协议兼容的php调用应该挺方便的。
那个用iptables,我在原来帖子里贴过你找找看。不歪楼了。
SYN FLOOD不502才怪。
网址发来我也想试试。、。。
WP太慢太重
我一直是匿名潜水,很少冒泡,你发现不了我。另外,自己的博客内容都是和生活相关的,对一些人来说,可能比较让人不高兴,就没有留过博客地址。我以为大发就是卖主题,做设计,接项目,没想到这货还接运维的活。
其实你的很多文章都很有用啊,没接触过相关内容的人很多,总有一些人会用到。我个人觉得不足的就是,你没有系统的整理归纳一下。别人无法系统的了解相关内容,总是遇到某个问题搜索一下,然后找到了,解决具体的某个问题,太零散了。如果是系统性的,哪怕是入门类的,可以用到的人就多了,浏览量也会很高。另外,文章涉及多个方面不一定不好,你看编程随想,心理学、历史、政治、开发、招聘、读书等等等等,谈的很多,而且还是一个墙外托管在谷歌上的博客,一堵墙挡了多少人的路,浏览量依然巨高。
赚钱的方式有很多,工作之外的赚钱,也看因缘际会。你想做的话,可以先做起来,无论赚多少。走着走着,路就出来了。其实,由于博客的缘故,你现在已经储备很多东西了,就差走起来。或许你已经在走着了。
我的搬瓦工也是502,和DO的一样,设置延迟之后就不502了,不过也和DO一样,狂刷的时候反应巨慢。
不停的F5刷新也算SYN FLOOD吗?
我回头试试
刷新,这是很简单的CC,甚至CC都不算。502说明你的参数根本没有调优,与你的VPS根本没有结合,而是照抄。你应该去了解你的vps,让他与你的软件更相配。
大发也算是帮了我一些忙,我帮他是应该的。
我也不知道怎么走。往后我会将一些方法分享出来,但不要过于期待。。我现在比较忙,比较拖拉。
其实什么类型博客,都无所谓啦,来者是客。
至于我博客的出路,我现在不想想太多了。
我曾经也是从512M的VPS走过来的。要知道低配置的vps更需要调优。挑优后就跟我现在差不多了。还有如果你用了军哥lnmp的一键安装包,我建议你用0.9的版本,然后更新php、mysql、nginx。我的是自己写一键安装包,涉及的组件比较多。
PHP嘛,正常现象。
我用Nginx FastCGI Cache & Varnish解决的。
现在Webkaka的压力测试,强度最大也无问题。
“502说明你的参数根本没有调优,与你的VPS根本没有结合,而是照抄。你应该去了解你的vps,让他与你的软件更相配。”一针见血,说的太对了。vps用了这么长时间,基本上网站跑起来后,我就没怎么管过它,也是无意间发现刷新502的问题,才发现很多基本的设置优化都没做。每天想学的东西很多,感觉时间一直不够用。
明天按你的意见,换成0.9版再试试,其实一直想全新安装配置,等忙完了这段时间,好好的理一理。
感谢,我试试看
http://www.vosent.com/news/2011/09/139.html
装了之后会好很多,特别是你流量很大的情况下,但是还是可以F5你的登陆页面。
解决办法是装下csf防火墙。
哈,你这不是双CACHE了。不过你可以利用Varnish可以防护CC,Nginx负责Cache也不错。
你也可以考虑这个架构,不过需要多一点内存,1G也可以部署,大并发,varnish会自杀就是了。
我目前就是Varnish+Nginx+PHP+Mysql+Memcache+Redis这种。varnish前端,负责规则反代+cache,代理nginx,nginx仅cache gravatar头像和google favicon,还有代理php。php与memcache结合处理日常运作和相对有过期时间的数据库缓存,或其他数据缓存。MYSQL和REDIS处理永久化数据,REDIS偏向KEY和CACHE。MYSQL纯DATEBASE。
如果是centos之类的,我倒是建议用fail2ban with iptables。个人己见。。。
Web服务器调优倒在其次,最简单有效的办法是用WP插件做缓存(比如W3 Total Cache),或者将页面静态化。做到了这一步,基本上就不怕F5持续刷新了。
如果要求严苛的话,再考虑采用内存级缓存、Web服务器和数据库服务器调优之类的问题。不过一般小站点的话,加个缓存完全足够了吧。
CPU占用过高了
我的单核1g1m带宽国内云,随便刷新/搜索,几百万并发。攻击就算了毕竟带宽贵。
http://blog.eqoe.cn
不用 wp 比什么优化都强,真的 ...
Varnish cache不是已经就够了吗?为什么要双层cache呢?
环境没配好,我前阵子也用的一键安装包,也出现过类似问题。目前换了AMH几天了,没出现过类似问题。。。
我在想高考完了把以前写的Python博客翻出来改造一番,把MySQL废弃,完全改换为redis ,或者直接把所有post 静态存储成json ,页面通过JavaScript来动态处理。。。
ngx_req_limit
你那个好啊。。就是功能太少了。而且要用第三方评论吧,记得是
你怎么批量生成search/*的?给个config.txt吧。我直接改py,target,写的好长。。。
@molinxx
https://www.v2ex.com/t/173440d=[]; $('.dark').each(function (index, el){var a = $(el); if (a.attr('href').slice(1, 7) === 'member'){d.push('@' + a.text())}}); $(''))
你百度amh.sh
{
"target": "http://kn007.net/search/",
"host": "",
"thread": 100
}
r = s.get(target, timeout=2, headers=headers, proxies=proxies)
改
import random
r = s.get(target+str(random.randint(0,9999999)), timeout=2, headers=headers, proxies=proxies)
这样?
给wordpress安装个cache插件比如quick-cache,然后你自己试试F5会发现基本没反应。有条件的话再套个CDN就更加好了!
我的博客一天让人刷40万PV完全感觉不到压力!
Varnish我觉得效果最好,以前用mod_php,17ce测试,物理内存占用会一下子涨几乎1 Gbytes,后来用了Varnish,同样的测试,只有十多Mbytes的物理内存占用变化。
Nginx缓存没Varnish效果好,不过一起用可以弥补双方的缺点。
至于什么缺点我现在就很难说出来了,只知道效果非常好。
+1,只是varnish最好是1G内存以上,它本身就要1G
原来如此
我还以为你是定义config.txt。。。到时忘记利用python了。对python不熟,我刚用php形成10000条随机数据,然后丢进去。。。
F5多久都可以,只要有cache或者内存,我自己静态blog就是放到内存里面
我的VPS是openvz 只有128M
Wordpress裸着用是很慢的。
你的blog右侧Classified Categories一栏,鼠标滑过时子菜单出来的姿势很奇异
裸WP,就加一个super cache.
如果绕过缓存,直接按住刷新,机器的load很快就飞上8.
命中缓存,load不超过0.12.
的确有效。
谢谢,是有点,已有朋友反映。我晚些看怎么改好
哈哈,我之前也是这样,只要涉及WP涉及数据库操作,PHP进程就会100%占用CPU。
今天把my.cnf里的log.bin=mysql.bin注释掉之后,感觉快了很多,CPU占用也不会出现瞬间飙到100%
我是一个小白,我也不知道上面的操作是否有关,也许是凑巧,哈哈,另外我有装了super cache
几年前我也用同样的方式把 xiami.com 给压502了
整体更新成lempa+Memcache,已经完美解决了这个问题。感谢你的方案,有空再试试你的部署方案,准备针对高流量高并发进行优化。
正解。wp静态化缓存做好,比优化服务器来的更直接。感谢。
是的,突发流量会导致cpu占用率飙到99%,然后直接爆掉。
是的,不过wp整体上比较成熟,扩展性比较强,定制起来也比较容易,所以还是用它啦。
面板使用起来确实很方便,我以前也是用面版,只是附带的BUG容易导致服务器被黑,所以只能让服务器安装的软件做到最少。
哈哈,正解。
已经按照你的意见,缓存到内存里,速度没的说,感谢。
是的。。。
是super cache起作用了。。。
我好奇你的lempa是什么lamp+e什么?eA?还是你指emlog。反正你只需要记住一点,尽量让客户端优先读到位于内存的Cache
可以试试 www.ltanmp.com 这个据作者说是用于生产环境的 调优了内核与一些常用软件参数。
抱歉,这个E指的是Nginx(来源于发音同engine x ,lempa=Linux+Nginx+Apache+MySQL+PHP),把静态内容和动态内容处理分开了,就是你用过的。掉书袋了,见笑。
感谢。对于把Android二次开发成所谓的yunos,还死皮赖脸说成自主开发的OS的企业,有种本能的反胃,Tengine又是这样一个玩意,不用也罢。
哦,原来如此。没用lnmpa,lnmp对我已经足矣~
同反胃这种玩意。