日期:2014-05-17  浏览次数:20788 次

怎样提高每秒的并发量????
现在项目做完了,但是每秒的并发量为每秒3人,请问各位高手,有什么好的方法来提高访问的并发量。。。。
项目用struts2 + sqlserver2008开发的。每秒的并发量太低了,如果人数多的话,程序就会蹦的。虚心的求助各位高手。

------解决方案--------------------
先压测下,把瓶颈分析出来,从瓶颈下手
------解决方案--------------------
太笼统了,用JPofiler之类的分析工具,单并发下,先分析瓶颈点在什么地方,然后再看具体问题是否能帮你出出主意。
------解决方案--------------------
分析下程序上面的问题。然后再考虑从硬件下手,如集群。
------解决方案--------------------
每秒不应该叫并发量吧?
------解决方案--------------------
那该叫吞吐量啊
------解决方案--------------------
探讨
现在项目做完了,但是每秒的并发量为每秒3人,请问各位高手,有什么好的方法来提高访问的并发量。。。。
项目用struts2 + sqlserver2008开发的。每秒的并发量太低了,如果人数多的话,程序就会蹦的。虚心的求助各位高手。

------解决方案--------------------
是个好问题~~
------解决方案--------------------
并发,吞吐的概念我就不说了,每秒3人,多了会崩,百分之万,你的代码存在巨大问题。只要数据库和你的应用能跑起来,最低吞吐量也不会在个位数这个数量级。现在普通pc机,sql08可以到两三百。好好看代码,是否存在死锁,死循环,不恰当的缓存配置和算法,或者没有释放资源。
------解决方案--------------------
这个问题问的很笼统,不会帮你解决具体的问题。
既然是笼统的问,那就给你个笼统的解决方案(代码优化就不多说了,你自己慢慢跟踪分析调整):
1、展现层:尽量使用静态页面+异步通信,少用动态页面
2、中间件:使用多种组合,而不是单一容器,并集群,如apache+tomcat或者apache+jboss等,apache解析静态页面是最优的。
3、应用层:通过并发、分布式等,尽量不要用很笨重的框架(如Struts、hibernate等)
4、DB层:通过集群,或者使用快速写入的NOSQL(无事务性的都可用)