OC

Knowledge OS
登录 注册
全部话题 移民 创业 iOS Mac Objective-C Swift Android 招聘 求职

上线网站后cpu一直占满,请教性能问题

sbicrgw
sbicrgw 发布于 2014年06月04日
无人欣赏。

之前我们做的都是企业信息管理项目,对互联网项目没有经验,今年开始创业做比特币交易平台之类的项目,因为受到攻击,所以遇到了些困难,各种攻击不断,中国互联网太乱了吧!现在有些疑惑,希望论坛大神帮忙解答一下:

  1. 我查看网站的连接数在300个的时候cpu就100%,网站就卡死了。我们是用tomcat部署的,请问300个连接数是怎么样的概念,还是我们程序性能也太差了?(我们用的服务器是阿里云8核16G内存的)
  2. 因为我们确实没有高访问网站的运营经验,请教一下我们应该往哪方面做奴隶,或者有什么资料或者书籍方面推荐一下吗?
共45条回复
楼长 ·
sbicrgw 回复于 2014年06月04日

我说的连接数300是在我们已经买了高防的cdn进行跳转以后的情况。用高防cdn之前,几秒钟网站就挂了!

2楼 ·
玉楼 回复于 2014年06月04日

实在没法回答你的问题。CPU满很大可能是你程序写的有问题。高访问网站你要说出来希望有多高,300个连接是怎么看的?受到什么攻击了?synflood?

3楼 ·
淮左青衣 回复于 2014年06月04日
  1. 你的所有请求直接进入tomcat?如果是这样的话,前端最好加一个nginx之类的服务器做反向代理,为静态资源和请求加上cache,不过看来你的静态资源已经上了cdn,那就给部分没有实时性要求的请求加上cahce吧。tomcat直接处理外网300多个连接,其实没有必要的。
  2. 这东西不是一两本书能教你的,在你城市里头找个熟悉互联网业务的人,请人吃几顿饭帮你看看吧。
  3. 我觉得你们是不是需要一个懂运维的人?
4楼 ·
Lamb 回复于 2014年06月04日

先查看cpu被什么耗费了,有线程挂起吗?

5楼 ·
youxiachai 回复于 2014年06月04日

你要找会攻击的人帮你优化才行.....

300连接...如果是一直占着的话....要么有很多很多人访问..要么就是人家在攻击你了..

6楼 ·
JoeyYin 回复于 2014年06月04日

好吧,我很闲。今天来帮Tony老师撑场子。

服务器上去跑命令,看一下ESTABLISHED的连接有多少。 netstat -antp

如果连接过多不正常,那就是一次四层的攻击,也就是所有ip都是真实的。写个shell:

#!/bin/sh
do
for i in `netstat -an | grep -i ':80 '|grep 'EST' | awk '{print 5ドル}' | cut -d : -f 1 | sort | uniq -c | awk '{if(1ドル > 50) {print 2ドル}}'`
echo $i
echo $i >> /tmp/banip
/sbin/iptables -A INPUT -p tcp -j DROP -s $i
done

定时跑,5分钟一次。差不多就好了。

7楼 ·
sbicrgw 回复于 2014年06月04日
  1. 连接数是通过netstat -na | grep ESTAB | grep 80 | wc -l这个命令查看的,这个数量是可以代表并发量吗?
  2. 交易平台就几个页面,基本都是实时性非常高的,所以nginx是没用了,高防cdn只是用来挡攻击用的。
  3. 我看到cpu都是tomcat占用的,有其他办法更新的查看是tomcat那个算法导致的吗?
8楼 ·
sclzcq 回复于 2014年06月04日

可以看下每个线程的cpu占用情况

9楼 ·
sbicrgw 回复于 2014年06月04日

还有我最想了解的是300个连接数是什么概念?完全没有做负载均衡什么的情况下,内存暂用这么高是不是程序的问题更大?还是300已经是不小的数字了?

10楼 ·
forzaJuve 回复于 2014年06月04日

有可能是某个线程太吃cpu了.....我们以前有个做法就是写个脚本....监控 当某个进程占用cpu达到50% 就kill屌他

本帖有45个回复,因为您没有注册或者登录本站,所以只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。
登录 或者 注册

相关帖子

相关新闻

[顶 楼]
|
|
[底 楼]
|
|
[首 页]

AltStyle によって変換されたページ (->オリジナル) /