- 论坛徽章:
- 0
|
网易北京技术部寻求JAVA高级软件工程师(长期招聘)
我先答吧,呵呵
1、需要看你数据库的具体应用类型来做判断,如果是bbs,相对可能好办一些
2、数据库的主要瓶颈(bbs)很有可能在分页算法,需要实际连分析器才好判断
3、考察系统的数据库架构设计,分析这1k/s的访问有多少是有效访问,需要加什么样的锁机制。
4、分析有无使用机群和反向代理的可能
我有两年没碰过数据库了,献丑了。以前模糊记得每秒处理1000次会话,要求并不高(当然,要看机器、os、db的情况了)
问题如下:
我有一个应用,它要对数据库做每秒并发超过1000次的会话,也就是同时有1000个以上的session。我不清楚您对这个数量级有多少量化的概念。总之,现在数据库是应用的一个很大的瓶颈,那么怎么来改变现有状态呢?
我相信楼主说的1000都是平均值,如果仅仅是峰值的话倒不是什么大问题。
平均1000次并发,首先是选数据库,交给dba去选,mysql肯定做不来,sqlserver2000够呛(即使能满足并发,性能也巨恶)。(永远别相信那些官方数据,)。
平均1000个session,服务做集群吧。如果是java的话,配web server集群,不是很费心。(如果自己写的话,就不是一两句可以说清的,不过java的优势就是多线容易)
遇到高性能的问题无非的就是一个策略:做cache,做cache的关键是cache的命中率。其实某些java o/r工具都有相当优秀的cache策略,比如hb.量越大性能越优越。但是hb不支持多数据源(好像是一个设计的问题,和技术细节关系不是很大)
记得以前某个itpub的前辈说的(不是抬别人的话压人,而是确实是他的话),大致如下:
当数据库性能发生问题的时候,很多人想到总是数据库调优,但事实上一般这样解决的余地很小,最好还是首先从增加硬件入手。
狗尾续貂。
ps:
楼主是技术人员么?刚开始我以为你是c/c++方面的前辈,但是看了上面你提的问题感觉又不像。 |
|