《从0开始学架构》
架构设计理念架构设计理念,可以提炼为下面几个关键点: 架构是系统的顶层结构。 架构设计的主要目的是为了解决软件系统复杂度带来的问题。 架构设计需要遵循三个主要原则:合适原则、简单原则、演化原则。 架构设计首先要掌握业界已经成熟的各种架构模式,然后再进行优化、调整、创新。 框架设计需要考的因素/影响架构复杂性的几个因素 高性能, 衡量软件性能包括了响应时间、TPS、服务器资源利用率等客观指标,也可以是用户的主观感受。 高可用,高可用性就是技术实力的象征,高可用性就是竞争力。99.99%(俗称4个9)网站不可用时间=52.56分钟 可扩展性,设计具备良好可扩展性的系统,有两个基本条件:“正确预测变化、完美封装变化”。 低成本,语言选择、方案选择。 安全,功能安全XSS、CSRF等,架构安全、访问策略。 规模..
更多《Linux内核技术实战》
Page Cache什么是 Page Cache? 通过这张图片你可以清楚地看到,红色的地方就是 Page Cache,很明显,Page Cache 是内核管理的内存,也就是说,它属于内核不属于用户。 $ cat /proc/meminfo ... Buffers: 1224 kB Cached: 111472 kB SwapCached: 36364 kB Active: 6224232 kB Inactive: 979432 kB Active(anon): 6173036 kB Inactive(anon): 927932 kB Active(file): 51196 kB Inactive(..
更多《Linux性能优化实战》
CPU性能篇uptime 什么是平均负载?简单来说,平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。这里我先解释下,可运行状态和不可中断状态这俩词儿。 所谓可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。 不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。 比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到..
更多