一个在线考试系统,有一个需求:可以满足3000人在同一时刻一起考试.请教大家,像这样的 
需求,用什么样的解决方案。主要问题在多用户调用试卷和提交试卷上。(请尽量详细一些,谢谢了。) 
系统正在使用的架构是SSH,数据库为oracle.

解决方案 »

  1.   

    这有什么问题呢?没看出来。并发性能问题吗?如果是,采用调整线程数,内存数,配置服务器集群,增加oracle连接数的方法
      

  2.   

    主要问题在多用户调用试卷和提交试卷上
    假如有3000人同时从数据库里取题,当答卷时间到了,3000人又同时向数据库里提交试卷,
    这样的并发操作应该如何解决。
    (主要是软件方面,例如,使用在存储过程,或是什么XML文件的。
     新手,不太明白,请大家给点意见。)
      

  3.   

    3000人同时考试的并发量,如果是要求同时考试,同时交卷的话,并发量一般不会超过500,也就300左右.把线程数调到500,内存得看你交卷的处理程序的情况而定。一般1G应该足够。数据库的链接数oracle默认数为150,可以调高些。数据源的最大连接数300-500之间就ok
      

  4.   

    我一般是是看并发时 , 系统的cpu 和内存的使用率
      

  5.   

    同事想了一个提取试卷的方法:建立一个listener。在服务启动的同时,listener也启动。listener的作用每天0点进行一次对数据库的读取,把所有今天的考试的试题从数据库中读出来,读到一个静态变量中。然后,当上午10点进行考试时,action从表态变量中读数据。这样的方式以前没见过,不知道可不可行?大家怎么想?
      

  6.   

    我也在做考试系统,不过我的是做成c/s结构的。我现在就是考虑服务器能否承受同一时间一块提交试卷。其它的感觉都不是问题。我们可以交流一下。我的qq是361126880。
      

  7.   

    考试程序涉及到答案的频繁自动提交,这样就会要求3000个人每间隔一定的时间不停的向服务器提交数据,可能导致负载过大,建议使用IP段来控制提交,不同的IP提交使用不同的程序处理!当然这只是一个建议的解决方案!
      

  8.   

    ssh架构肯定会出问题!劝你用JDBC跟数据库交互。虽然我没做过但是我用过,帮别人调试过。
      

  9.   

    在存考试结果时,用存储过程怎么样?
    看一些别的帖子,有的没有把考试的结果存到数据库中,而是存到了xml文件中。
    这样有什么好处吗?