看你的提问还没有明白怎么去做高并发,并不是语言框架的问题,而是基于每个小细节的优化以后的架构,
而且万级以上的并发,你得硬件和带宽够吗,这些往往比软件的瓶颈小的多的多,看你的提问来猜想你公司的硬件,我感觉你首先去考虑一下带宽和硬件,万级的并发最少带宽得100M以上
硬件和带宽不是问题的,百独服务器2台做分布式搭载的。我主要是想听听大家建议哪种程序架构,针对性能,开发速度,后期维护上更好。只是相对更好。
@单程列车: 服务器在机房,是100Mbps独享线路,上传下载12MB/S左右, 双至强4核5502,8G,1TB RAID0,1TB RAID1 双磁盘阵列.
@Richwong:一次HTTP请求,即使没有任何文本,一个连接来回一次是1K左右,10000并发的话就是100M了,而且所谓100Mbps独享线路根本不行的,就是网通或者电信主干网络接入的话100M都挺够呛10000并发的,IDC的你就别指望了
而且你的硬件也支持不到,IIS就别指望了,apache的相比IIS好一点,在windows下一个apache节点最多支持2000线程,得布多个,然后用F5或者类似的硬负载,软负载的话10000并发肯定会出问题,一台F5差不多30万左右,双至强4核5502,8G,1TB RAID0,1TB RAID1 ,服务器性能也低了点,我用的DELL的R900和910都要支持10000并发都用了8台做的负载,10000并发的东西对硬件要求实在是高的,没有自己的机房而且是好点的机房,即使程序架构达到了,没硬件的支持也是白搭的
总之,我的经验是非常高的并发的需求下,首先判断硬件达到没,不然软件架构和细节的优化上很花时间,最终花了很大精力能够支持几十万的并发了,结果发现硬件和带宽远远跟不上,甚至最多给你支持到2000并发,你就傻眼了,要知道全国用的系统来说,500并发就已经很可观了,10000并发差不多表示你网站得有100000甚至更多的活跃用户
@Richwong:而且我所说的这些还只是一次简单的HTTP无返回内容的访问情况,也就是最小的数据量,只算了HTTP请求报头来回的1K,还没考虑后端的数据库的并发和负载
@单程列车:谢谢列车, 硬件上相对还是比较容易解决的.无非是采用高性能服务器组成服务器群,采用群负载,按地域就近分配服务器,如CDN遍布等.这样每台机器的并非一般也不超过1000, 我上面所提的一万并发是未来假想数,也就是开发系统时按此级别.并发数也不是突然上去的,随着并发增加而增加服务器群,CDN区域服务器等. 在程序上,分布式散列架构,但在程序框架上,我还是拿不定注意,MVC,WEBFORM,WCF等,这里个框架可能不免得混合,总会有个主题基础框架的.