李骁睿吧 关注:26贴子:1,219
  • 0回复贴,共1

好像17年以前的帖子都没有了,对事件背后的一些技术思考。

只看楼主收藏回复

也不知道百度贴吧的数据库发生了什么。
对百度的一些粗浅建议:
1、增加中间件DAL,让客户端的请求进行排队,能一定程度缓解数据库压力;
2、把主要的业务逻辑放到应用服务器上去处理,数据库只做辅助的业务处理;
3、对数据库负载均衡,多个数据库建立“主-从”关系,主数据库负责数据写入、从数据库负责读取。这样可以避免“写操作”阻塞整个程序。
4、当主数据库被写入时,数据库发生改变,通过“replication”机制,用日志文件发送更新的数据,保持主-从数据库同步;
5、从性能性能的“四大杀手”出发考虑对策:
5.1、针对“数据拷贝”:使用缓存机制。(涉及缓存同步、缓存换页的LRU机制(链表+HASHMAP实现))
5.2、针对“环境切换”:如果是单核服务器,别用多线程,用状态机编程;多核情况下使用多线程发挥出多核的优势,但是也要尽量减少线程间的切换;
5.3、针对“内存分配”:增加内存池,减少向操作系统申请内存;
5.4、针对“锁竞争”:锁会降低性能,尽量少用。
6、用分布式缓存,如nosql、redis、memcached。


1楼2019-05-16 09:55回复