服务器的高并发能力如何提升?
服务器高并发能力体现着服务器在单位时间内的很强数据处理能力,一般来说,如果企业的互联网业务需要面对大量的同时在线请求,那么就需要高并发能力来支持。那么我们要如何才能提升服务器的并发处理能力呢?
1、提高CPU并发计算能力
服务器之所以可以同时处理多个请求,在于操作系统通过多执行流体系设计使得多个任务可以轮流使用系统资源,这些资源包括CPU,内存以及I/O。这里的I/O主要指磁盘I/O和网络I/O。具体来讲,就是采取多进程&多线程、、减少进程切换、减少使用不必要的锁、考虑进程优先级和关注CPU使用率的方法来提高系统资源的利用率。这个方法的缺点在于:当子进程被父进程创建后,进程的创建使用fork()系统调用,需要耗费一定的开销,这个开销若太频繁,可能影响性能。
2、内存的分配和释放
减少内存的分配和释放有利于我们提升服务器的并发处理能力。那么我们要怎样做呢?对此,可以利用算法制度和改善数据结构,从而减少中间临时变量的内存分配和数据复制时间。此外,能够利用共享内存模式来降低内存的分配和释放的目的。
同时,使用共享内存也可以提高内存的使用效率。共享内存指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存,也可以由不同进程共享,是非常快的进程通信方式。这个方法的缺点在于:会影响服务器的运输速度。
3、对I/O操作
I/O就是计算机内存和外部设备之间拷贝数据的过程。对于I/O操作,依据设备形式有不同的类型,例如网络I/O、磁盘I/O和内存I/O。通常,网络I/O速度相对要慢,因而我们可以利用高带宽网络适配器去提升速度。像这样对I/O操作的过程,我们要CPU来调度。当CPU调度上使用时间较少,也就能节约CPU处理时间,所以,对I/O操作在一定的程度上,也是提升服务器的并发处理能力的一种方法。
3、服务器高并发策略调整
这里说的对服务器高并发策略调整,也就是尽量让I/O操作和CPU计算重叠进行。这样的做法,主要是为了让CPU在I/O操作时等待时间里不空闲,同时也能较大限度的减少等待的时间。
4、选择持久链接
有一些朋友可能不清楚持久链接是什么,下面简单地介绍一下,持久连接也就是persistent connection,是通过TCP通信的一种方式,主要指不用为每个request object的传送建立一个新的TCP连接,因而能减少TCP建立时间和相应的系统损耗。简单的理解就是,在一次TCP链接中,可以实现持续发送多份数据而不断开连接。
从性能的角度来说,如果建立的TCP链接次数越少,对性能的提升是越有利的,因而这里为了提升服务器的并发处理能力,建议选择使用持久链接。
5、优化系统调用
系统调用涉及进程从用户态到内核态的切换,导致一定的内存交换,这也是一定程度上的上下文切换,所以系统调用的开销通常认为比较昂贵的。减少不必要的系统调用,也是服务器性能优化的一个方面。这个方法的缺点在于:当进程需要对硬件外设进行操作的时候,必须切换到内核态,这时它需要拥有更多的权力来操纵整个计算机。
6、改进硬件环境
还有一点要提及的是硬件环境,服务器的硬件配置对应用程序的性能提升往往是最直接,也是最简单的方式,这就是所谓的scaleup。
以上就是对服务器高并发能力怎样实现的讨论,当然对于提升提升服务器的并发处理能力还有其他的方法,上述的内容仅供参考。
-
cpu
+关注
关注
68文章
10854浏览量
211583 -
服务器
+关注
关注
12文章
9123浏览量
85324 -
TCP
+关注
关注
8文章
1353浏览量
79055 -
并发
+关注
关注
0文章
7浏览量
2495
发布评论请先 登录
相关推荐
评论