请教:如何写支持大量并发访问的服务器软件

原创 2001年03月03日 22:28:00

 

提出这个问题,源于我遇到的一些项目。

至少有四个原因说明讨论这个问题的必要性:

一、就应用型软件来讲,支持大量并发访问的服务器软件是一个重要方面。其它还包括数据库MIS软件、数据采集处理软件、基于WEB的程序等。每种软件有自己的规律,但就难度来讲,并发访问服务器软件的难度与价值都要大一些。例如目前的OICQ、联众游戏等,都存在这个问题。

二、从技术本身来讲,可以分为技巧型(如在非客户区画图)、大系统结构型(如大型MIS系统)、高性能型(如本话题)三种,目前网上的大多文章停留在技巧上,或者停留在某种功能如何实现等教学性质的讲座上,或者一些复用性并不强的源码上。我个人认为教学本身的有用,但价值不大,比如如何进行多线程编程、如果进行SOCKET通讯等,一些经典的图书、手册、MSDN等来得更好;而技巧型价值也不大,多是一些点缀,不是大系统中的关键;大多数源码的价值也不大,不如系统自带的例程好。   实际上,对大系统结构型和高性能型软件的讨论太少,此为其二。

 

三、在互联网大势已定的今天,基于HTTP协议软件或者网站的作用不需要多说,另一种基于专用客户端软件、后台有服务器软件提供并发服务(不论两层、三层还是多层)、通过互联网进行通讯的大规模分布式应用显然是我辈程序员的一个弱项。值得我们关注和努力。

四、我想好的程序员都研究过数据结构、钻研过操作系统源码、学习过编译原理,或者进行过底层的通讯研究。如果让我们写一个网络数据库系统(DBMS),如果让你规划,你可能能说出个大概,但高性能的支持大量用户并发访问的服务器软件还是一个很少有人有底气的问题。

就我目前知道的一些情况,有以下基本结论:

1、在NT或者LINUX/UNIX系统中,好的服务器软件可以支持1000——3000并发联接。

2、目前分布式操作系统还只是个概念,但不排除可以在应用程序上写出好的分布式应用程序来。

3、缺少历经实战检验的成形的写作方法。

等待您的高见。欢迎与我讨论(plissken@263.net)

 

 

高并发情况下 如何支撑大量的请求

几点需要注意: 尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。用jprofiler等工具找出性能瓶颈,减少额外的开销。优化数据库查询语句,减少...
  • qianqian901108_
  • qianqian901108_
  • 2017年07月26日 09:56
  • 515

web服务器并发访问如何提升

 对一个电子商务网站来说,需要运用最少的带宽和服务器资源,为更多的客户提供更快捷的服务。而用户对Web站点的满意度,主要以访问速度来衡量。 从用户角度来说,Web站点只有“快”和“慢”...
  • runming56
  • runming56
  • 2015年02月24日 20:57
  • 1164

java模拟并发请求

Java代码   package httpClientTest;      import java.io.BufferedReader;   import java.io.Inpu...
  • martianfengguo
  • martianfengguo
  • 2016年01月24日 04:06
  • 1574

高并发大数据量(系统所考虑问题)

1,订票系统      1w个人来访问,票没出去前要保证大家都能看到有票,不可能一个人在看到票的时候别人就不能看了。到底谁能抢到,那得看这个人的“运气”(网络快慢等)      其次考...
  • u014421556
  • u014421556
  • 2016年04月05日 13:31
  • 1897

Java处理高并发量访问的处理总结

结合之前做的一个网站,项目中分了几个子项目,主要用到redis 大概就是这几方面吧 一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,...
  • yang_best
  • yang_best
  • 2016年03月15日 20:09
  • 5524

MySQL高效处理大量并发的数据库连接方法

单机单MySQL服务器处理数据库连接请求利用多线程机制,但正如任何处理方式一样都会有它的功能瓶颈。单机单MySQL服务器如何提高处理瞬时成千上万的数据库连接请求呢?首先,我们从MySQL服务器的工作原...
  • jiedushi
  • jiedushi
  • 2010年11月17日 16:59
  • 11208

并发问题:大数据量的访问

今天突然关注到这个问题,从网上看了很多,受益良多。记录下来,以后回顾~ 之前在工作中就遇到过这种情况,两个用户同时操作一条记录,A用户查询某条记录,B用户把这条记录删除,A用户将查询的某条记...
  • lanonola
  • lanonola
  • 2014年11月01日 13:37
  • 2441

tomcat、Oracle为例,解释是它们是怎么处理大量并发请求的?

tomcat和Oracle的处理请求机制一样。 处理原理: 1并发处理。即有十个人同时处理请求。 2处理完一个再处理一个。即从单个人来说,他是怎么处理n条过来的请求的。不管处理机制是怎么样的(时间片...
  • Ideality_hunter
  • Ideality_hunter
  • 2017年08月27日 18:00
  • 267

tomcat支持多少并发

Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。 当某个应用拥有 250 个以上并发的时候,应考虑应用服务器的集群。 具体能承载多少...
  • down177
  • down177
  • 2015年06月17日 08:48
  • 1164

如何解决网站大规模并发访问带来的性能下降问题

摘要: 再过半个月就2013年的春运就要来临,每年外地打工的人们都会因为订票而烦恼。特别是网上订票,对12306提供给的网上订票系统会有各种看法,从去年的年春节,铁道部推出12306网站, 再过...
  • a137268431
  • a137268431
  • 2015年09月14日 17:13
  • 870
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:请教:如何写支持大量并发访问的服务器软件
举报原因:
原因补充:

(最多只允许输入30个字)