首页 >

如何提高服务器并发处理能力? – 网络|

电话双音频怎么调,ds1302怎么暂停时间,怎么查mac的wifi密码是多少电话双音频怎么调,ds1302怎么暂停时间,怎么查mac的wifi密码是多少如何提高服务器并发处理能力? - 网络|如何提高服务器并发处理能力
  • 内存:减少内存的分配和释放,这个本质上只为了内存分配和数据复制的时间;比如程序在启动的时候,就申请一块足够大的内存,不需要再次分配;另外可以考虑内存共享。

  • CPU:使用多线程,提高CPU的并发度;但是线程数不可以无限制地增加,因为进程切换也是需要花费时间的;减少使用不必要的锁,因为当一个资源被锁住的时候,其余的进程会等待锁的释放;改进I/O模型,使I/O和CPU计算尽量重叠进行,减少CPU空闲和调度的时间。

  • 网络:根据应用的特点,合理地选择使用长链接还是短链接;因为建立连接是很耗时的,但是如果要使用长链接,依然要考虑超时的问题,因为如果连接时间过长并且没有使用,需要维持空闲连接,影响服务器性能。

  • 提高硬件资源:说白了,就是花更多的钱,买更好的设备,比如带宽、更大的内存、更多的CPU、SSD等等。

还有很多手段,可以提高整个项目的并发处理能力:

  • 负载均衡、集群:一台服务器再怎么优化,也不如十台服务器同时工作,通过负载均衡,把请求分发到多台服务器上进行处理;另外一个好处,当一台服务器发生故障的时候,并不会影响整个项目的运行;

  • 缓存:其目的就是减少服务器的计算,把数据直接返回给用户;比如CDN、本地缓存、分布式缓存等等;

  • 分布式:如果说集群是把相同的项目部署在多台服务器上,那么分布式相当于把一个项目拆分成多个项目,每个子项目都可以独立地集群化部署;分布式架构意味着可以利用更多的服务器,能过处理的并发访问会越大。

  • 异步:调用方不需要等待被调用方处理完成,可以先做其它的事情,所有的事情可以并发处理;异步可以通过消息队列来实现异步;

  • 冗余、弹性扩缩容:根据访问量,部署更多一些的服务器;当有突发流量的时候,弹性扩容机制可以保证快速地增加机器的数量,保证系统的稳定运行;

偶将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。


如何提高服务器并发处理能力? - 网络|
  • css能加渐变色么 |css border double
  • css能加渐变色么 |css border double | css能加渐变色么 |css border double ...

    如何提高服务器并发处理能力? - 网络|
  • 怎样才能让eclipse编辑器显示代码的行数? - 网络|
  • 怎样才能让eclipse编辑器显示代码的行数? - 网络| | 怎样才能让eclipse编辑器显示代码的行数? - 网络| ...

    如何提高服务器并发处理能力? - 网络|
  • 数控车床编程步骤? - 网络|
  • 数控车床编程步骤? - 网络| | 数控车床编程步骤? - 网络| ...