高性能大并发服务器 1

典型服务器结构:  

  网络I/O+服务器高性能编程技术+数据库

高并发问题:

  1.超出数据库连接数:

   一个数据库最多同时连接10个当服务器1000个请求,则有990个失败。

  2.超出时限

   数据库并发连接数为10,1s中最多处理1000个请求,当有10000个请求,则会出现0-10s等待。

解决方案:

  1.应用队列+连接池   

  2.主要业务逻辑在应用服务器处理,数据库制作辅助业务处理

  3.缓存 redis(分布式缓存 )

   (1)缓存同步,当缓存失效,去数据库查询数据,时效性较差

   (2)当数据库更新,则更新前端缓存。

      缓存换页,内存不够时,将不活跃的数据患处内存。FIFO (先进先出) LRU (将最近最少使用换出)    LFU(最不频繁使用)

  4.负载均衡

     (1) 数据库       

      读写分离  数据库 读操作>写操作      使用负载均衡   主从机制 将一个数据分为多个数据库 ,一个用于写   多个用于读,当主库更新数据,从库也更新

   (2)应用服务器

      1.被动接受任务: 使用任务服务器监控应用服务器的负载(HTTP), cpu io 并发 内存换页,查询到这些信息后,选取负载最低的服务器分配任务       

      2.主动请求任务:

       5.数据库分区(分库、分表)

    分库,垂直分区,数据库按照一定的逻辑,把表分散

       水平分区

  6.服务器性能杀手

    1.数据拷贝   缓存

    2.环境切换  该不该用多线程,单线程好还是多线程好,

                 单核服务器(采用状态机编程,效率最佳) 

     多核服务器能充分发挥多和服务器性能 

    3.内存分配 增加内存池

    4.锁竞争

posted @ 2021-08-05 11:21  白米a  阅读(84)  评论(0)    收藏  举报