1、千兆的网卡是压力随便到达1000用户,但是如果你的其他环节点存在百兆的瓶颈,那跟服务器本身是无关的。
2、你所使用的应用程序环境,如果是windows带sqlserver,到100用户,处理一个较为复杂的业务都会比较卡。如果换成oracle则可以升到250用户左右。当然,如果是基于web的应用,则可以跑在300用户左右。上述两种环境都需要提前做好优化。
3、这个服务器的配置完全能够满足你提出的需求,基于web模式下配合racle数据库可以达到你说的要求,sqlserver到300个并发连接用户以上,跑数据量较大的业务就会比较卡了。 多线程处理的优点
同步应用程序的开发比较容易,但由于需要在上一个任务完成后才能开始新的任务,所以其效率通常比多线程应用程序低。如果完成同步任务所用的时间比预计时间长,应用程序可能会不响应。多线程处理可以同时运行多个过程。例如,文字处理器应用程序在您处理文档的同时,可以检查拼写(作为单独的任务)。由于多线程应用程序将程序划分成独立的任务,因此可以在以下方面显著提高性能:
多线程技术使程序的响应速度更快,因为用户界面可以在进行其他工作的同时一直处于活动状态。
当前没有进行处理的任务可以将处理器时间让给其他任务。
占用大量处理时间的任务可以定期将处理器时间让给其他任务。
可以随时停止任务。
可以分别设置各个任务的优先级以优化性能。
是否需要创建多线程应用程序取决于多个因素。在以下情况下,最适合采用多线程处理:
耗时或大量占用处理器的任务阻塞用户界面 *** 作。
各个任务必须等待外部资源(如远程文件或 Internet 连接)。
例如,用于跟踪 Web 页上的链接并下载满足特定条件的文件的 Internet 应用程序“robot”。这种应用程序可以依次同步下载各个文件,也可以使用多线程同时下载多个文件。多线程方法比同步方法的效率高很多,因为即使在某些线程中远程 Web 服务器的响应非常慢,也可以下载文件。
>大家都知道各类网络服务器程序的编写步骤,并且都知道网络服务器就两大类:循环服务和并发服务。这里附上源代码来个小结吧。
一、 循环服务
循环网络服务器编程实现的步骤是这样的:
建立socket(这里用到socket()函数及函数setsockopt())
|
|
\|/
把socket和IP地址及端口绑定(这里用到bind函数)
|
|
\|/
开始监听(这里用到listen()函数)
|
|
/\
/ \
\ / \
----------------------- | 有连接|
| / \ /
| \ /
| \ /
| |
| 接受新的连接(这里用到accept()函数)
| | /___________________________________________________
| | \ |
| \|/ |
| 从连接里读取数据(这里用到recv()系统函数,当然也可以是read()函数) |
| | |
| | |
| \|/ |
| 返回信息给连接(这里用到send()系统函数,当然也可以是write()函数) |
| | |
| | |
| /\ |
| / \ |
| / \ |
| | 还有数据 |-Y-------------------------------------------------------
| \ /
| \ /
| \ /
|_______________________________|
这种服务器模型是典型循环服务,如果不加上多进程/线程技术,此种服务吞吐量有限,大家都可以看到,如果前一个连接服务数据没有收发完毕后面的连接没办法处理。所以一般有多进程技术,对一个新连接启用一个新进程去处理,而监听socket继续监听。
/服务器创建并绑定套接字后fork出几个子进程,子进程中分别进行accept(该函数为阻塞函数)、recv、处理数据然后再次acept,这样循环下去。所有客户端发来的信息都是直接由子进程处理。
例程
代码如下,在处理客户端请求之前,服务器先fork了3个子进程,然后将客户端的请求直接交由子进程处理。
该例程中,服务器fork子进程后,子进程监听并接收客户端的信息,然后打印客户端发来的信息和自己的id(id代表自己是第几个子进程)
服务器端代码:
/
author:arvik
purpose:test the server simultaneity
email:1216601195@qqcom
csdn: >
20000的并发量需要150台服务器。
150台。Tomcat 默认配置的最大请求数是 150,也就是说同时支持 150 个并发,当然了,也可以将其改大。
如果是较大规模或者是,视频内容较多的网站,则会对服务器资源占用较高,推荐用双至强八核处理器,32G内存,1T硬盘的配置来放数据库,然后再用几台普通四核配置的机器放网站前端来做负载均衡即可,带宽需要根据你们的具体需求来决定。
易使用性:
服务器的功能相对于PC机来说复杂许多,不仅指其硬件配置,更多的是指其软件系统配置。服务器要实现如此多的功能,没有全面的软件支持是无法想象的。但是软件系统一多,又可能造成服务器的使用性能下降,管理人员无法有效 *** 纵。
所以许多服务器厂商在进行服务器的设计时,除了在服务器的可用性、稳定性等方面要充分考虑外,还必须在服务器的易使用性方面下足功夫。
服务器的易使用性主要体现在服务器是不是容易 *** 作,用户导航系统是不是完善,机箱设计是不是人性化,有没有关键恢复功能,是否有 *** 作系统备份,以及有没有足够的培训支持等方面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)