图解服务器架构设计与调优

0    50    1

Tags:

👉 本文共约3215个字,系统预计阅读时间或需13分钟。

硬件设备

图解服务器架构设计与调优

计算机架构

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

性能设计

图解服务器架构设计与调优

软件性能设计原则(不要让硬件成为瓶颈):

  • 均衡使用CPU多核处理能力
  • 消除不必要的性能消耗
  • 高效合理地使用和控制内存
  • 最大化磁盘IOPS和吞吐,异步化处理
  • 小包跑满万兆网卡,中断平衡

CDN Cache系统模型设计

  • Net模块: 支持大并发,跑满万兆网卡
  • ACL模块: 高效匹配,减少CPU消耗
  • Store模块: 提高命中率,高效利用磁盘IOPS
  • 回源模块: L7-check,长连接保持

图解服务器架构设计与调优

图解服务器架构设计与调优

Net 模块设计

  • I/O模型 – epoll + O_NONBLOCK
  • TCP选项 – TCP_DEFER_ACCEPT / TCP_SYNCNT – TCP_CORK / TCP_NODELAY / TCP_QUICKACK
  • 收发包的方式 – RSS, SMP_AFFNITY – SO_REUSEPORT

图解服务器架构设计与调优

图解服务器架构设计与调优

完美hash处理HTTP header

• 完美hash( Perfect Hash Function )

  • Hash table: key = value
  • PHF将key集合没有冲突地映射到一组整数
  • 查找key操作转换为索引整数表

• PHF场景&作用

  • 适合在key集合确定或不经常更新的情况
  • 主要作用是提高hash查找的速度

Store模块设计

• DIRECT IO写裸盘、绕过FS、不使用page cache

• 顺序写/随机读,stripe 8MB/block 512B

• mem_buf在内存做写合并

• 省去open和close系统调用

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

故障排查

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

/proc/meminfo 项的关系

• MemTotal = LowTotal + HighTotal

• MemFree = LowFree + HighFree

• Slab = SReclaimable + SUnreclaimable

• Active = Active(anon) + Active(file)

• Inactive = Inactive(anon) + Inactive(file)

• Buffers + Cached = Active(file) + Inactive(file)

• AnonPages + Buffers + Cached = Active + Inactive

• SwapTotal = SwapFree + SwapCached

图解服务器架构设计与调优

图解服务器架构设计与调优

性能调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

图解服务器架构设计与调优

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

图解服务器架构设计与调优

图解服务器架构设计与调优

参考

https://goo.gs/otz0c

https://mp.weixin.qq.com/s/MTDQQSsEDSC8iGO5Fr9M6Q

http://tutorials.jenkov.com/soVware-architecture/computer-architecture.html
http://exadat.co.uk/2015/01/29/cpus-memory-storage-and-database-engines-the-shape-of-things-to-come/
http://mechanical-sympathy.blogspot.com/2013/02/cpu-cache-flushing- fallacy.html
http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait/
https://soVware.intel.com/en-us/ar0cles/detec0ng-memory-bandwidth- satura0on-in-threaded-applica0ons
https://soVware.intel.com/en-us/ar0cles/op0mizing-applica0ons-for-numa
https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram
http://www.mimuw.edu.pl/~lichota/09-10/Optymalizacja-open-source/Materialy/ 10%20-%20Dysk/gelato_ICE06apr_blktrace_brunelle_hp.pdf
http://codecapsule.com/2014/02/12/coding-for-ssds-part-2-architecture-of-an- ssd-and-benchmarking/
http://codecapsule.com/2014/02/12/coding-for-ssds-part-3-pages-blocks-and-the- flash-transla0on-layer/

标签:

头像

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦
  • 18509239930
  • 个人微信

  • 麦老师QQ聊天
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部
返回顶部