昨晚,我跟我们的PM讨论到选课系统的问题,由于选课紧张,同时在线的同学一千多,所以引起服务器的高峰,以致系统有时会崩溃。针对这个问题我也深刻感受过(我们之前都是这样选过来的)。
于是我建议:用集群提高性能来解决。
PM向我介绍了服务器的整体性能,(具体。。。这个不说了,可以算是较高级的服务器吧)同时也指出了整个问题的根本不在于服务器的性能而在于系统的本身,虽然集群可以可提高30%左的性能,他当时就说了句:“整个资源就这么多,谁先到,就先得。所以我们就采取了限制人数的方法。”这汲及到一个系统设计的问题,下面就将自己体会的说说吧,
当我们对数据进行操作的时候,总是会先把这部份的数据锁起来,以保证数据的正确性,那么当同时有很多人对这个数据进行操作的时候,就会因为先到的人锁住了数据没有释放出来而导致,操作失败。怎么才能防止这种情况呢?我们在设计的时候就要尽量减少对数据库的操作,而将操场作放在一个事务里处理。我们用的是Weblogic服务器,所以设计的时候就尽量的依赖于weblogic的EJB容器进行管理,将事务放到内存里处理,这样就减少了对数据库的操作,提高整体的性能。由于我的文采不好,可能表达得有点模糊,大家就原谅我一次啦。。哈哈。。
总结一句:就是尽量将事务在程序上处理,不要放在数据库里处理。
posted on 2006-06-01 22:43
badboy 阅读(237)
评论(0) 编辑 收藏 所属分类:
开发经验