从以下几点提高服务器并发量

//降低数据库压力方法
1.队列+连接池
2.主要的业务逻辑挪到应用服务器处理,数据库只做辅助的业务处理
3.缓存
(1)如何同步缓存的问题:
1)缓存具有时效性,隔一段时间缓存数据就会失效,如果缓存失效,此时去数据库查询,然后更新缓存。缺点:实时性比较差
2)一旦数据库数据改变,立即通知前端更新缓存,优点:实时性比较高。
(2)如果缓存数据过大,就会导致内存不足问题:
1)将一些不活跃的数据删除(缓存换页),算法有:(1)FIFO(先进先出), (2)LRU(least recently used : 最近最少使用),(3)LFU(least frequently used:最不频繁使用)
2)分布式缓存,一些源码已经实现了,例如:redis,memcached

应用服务器的负载均衡:增加一个任务服务器来实现,任务服务器可以监视应用服务器的负载(CPU高、IO高、并发高、内存换页高),查询到这些信息后,选取负载最低的入伍前分配任务
高性能服务器应避免一下4点:
(1)避免数据拷贝,解决办法:缓存
(2)避免多的环境切换(多线程,理性创建线程),如果是单核服务器,无法并行运行多个线程,此时采用状态机编程,效率最佳。
(3)内存分配,解决办法:内存池
(4)锁竞争,解决办法:通过逻辑,尽量避免锁的使用。

posted @ 2020-10-18 11:12  zwj鹿港小镇  阅读(274)  评论(0编辑  收藏  举报