当前位置:编程学习 > C#/ASP.NET >>

关于一个学生的在线练习软件方案,请求指点。

编写一个学生练习的程序。所有数据保存在Sql Server中。学生做题结果需要马上保存到数据库中。一般500--1000人在线,人最多时有4000人在线使用。 
学生可以在机房使用本程序,也可能通过互联网连读写SQL Server (SQL Server有外部IP)

方案1:就写一个客户端程序,客户端直接连接Sql Server( 客户端直接读写SQL Server)

方案2:使用Socket 学生软件作为客户端,再在服务器上整个Socket的服务器。通过socket 在客户端与服务器之间传数据,由Socket服务端读写SQL Server.


方案1使用过,在机房使用没什么时候问题,但通过互联网访问时SQL Server时,速度就比较慢了。


注意的问题是: 1)峰值在线人数 4000 
              2)学生端(客户端)与读写SQL Server服务器大约每分钟会发生一次。(数据量一般在1-20KB左右)
              3)请不要叫我用asp.net,因为它不适合。我们这个程序不是只有选择或填空还有操作题(如Word,VFP等)

我期望得到的回答的内容有:
    1)哪种方案更好,为什么?
    2)服务器硬件配置估计需要多高(如内存/cpu主频) ?
--------------------编程问答-------------------- 在使用moodle或者efront不好么,前端用nginx fast cgi,我测试过虚拟机方案,hyper-v 2.0,1个vcpu,2g内存,400个用户同时并发没有问题,你的量这么大,可以考虑调大内存和cpu,或者在前端加负载均衡 --------------------编程问答-------------------- 具体例子可以参见:lms.swcns.cn --------------------编程问答--------------------
引用 2 楼 tellxp 的回复:
具体例子可以参见:lms.swcns.cn


这个不适合 。本练习软件是以操作题为主。比如:Wrod练习,VFP/VB等编程的内容,题库和相关的评分程序模块都已已完成了的。 --------------------编程问答-------------------- 使用三层架构,数据库-webservice-客户端。另外就你这个需求,完全可以做负载平衡横向扩展到多个服务器上。 --------------------编程问答-------------------- 为什么不用webservice呢?维护起来比socket要容易一些,个人觉得写一个很稳定的、很好的socket还是比较困难的。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,