· ☕ 1 åˆ†é’Ÿ
Cycles per instruction (CPI) : As we know, all the requests are served by CPU in the form of instruction sets. A single request can translated in to 100’s of instruction sets. Cycles spent per instruction is an important parameter which helps understand where CPU is spending its clock cycles. This metrics can also be expressed in the inverse form, i.e, Instructions per Cycle (IPC). It is important to note that CPI value signifies the efficiency of instruction processing , but not of the instructions themselves.

· ☕ 1 åˆ†é’Ÿ
https://easyperf.net/blog/2019/02/09/Top-Down-performance-analysis-methodology In this post I show more formal way to do performance analysis. It’s called Top-down Microarchitecture Analysis Method (TMAM) (Intel® 64 and IA-32 Architectures Optimization Reference Manual, Appendix B.1). In this metodology we try to detect what was stalling our execution starting from the high-level components (like Front End, Back End, Retiring, Branch predictor) and narrowing down the source of performance inefficiencies. It’s an iterative process with 2 steps:

· ☕ 1 åˆ†é’Ÿ
1 2 perf stat -d Ref https://www.brendangregg.com/perf.html

· ☕ 2 åˆ†é’Ÿ
https://redis.io/topics/acl ACL The Redis ACL, short for Access Control List, is the feature that allows certain connections to be limited in terms of the commands that can be executed and the keys that can be accessed. The way it works is that, after connecting, a client is required to authenticate providing a username and a valid password: if the authentication stage succeeded, the connection is associated with a given user and the limits the user has.

· ☕ 23 åˆ†é’Ÿ
https://redis.io/topics/cluster-spec Implemented subset Redis Cluster implements a concept called hash tags that can be used in order to force certain keys to be stored in the same hash slot. However during manual resharding, multi-key operations may become unavailable for some time while single key operations are always available. Clients and Servers roles in the Redis Cluster protocol In Redis Cluster nodes are responsible for holding the data, and taking the state of the cluster, including mapping keys to the right nodes.

· ☕ 1 åˆ†é’Ÿ
https://iximiuz.com/en/posts/prometheus-is-not-a-tsdb/ https://www.robustperception.io/blog https://promlabs.com/blog/ https://timber.io/blog/promql-for-humans/ https://github.com/iximiuz/pq https://play0ad.com/

· ☕ 1 åˆ†é’Ÿ
微服务各种流控技术 * 分布式一致性技术 锁 数据一致性协议 Java 网络 Netty Thread Pool DB *

CPU 负载测量误差
· ☕ 1 åˆ†é’Ÿ
CPU 负载测量误差 CPU load Linux exports various bits of information via /proc/stat and /proc/uptime that userland tools, such as top(1), use to calculate the average time system spent in a particular state, for example: $ iostat Linux 2.6.18.3-exp (linmac) 02/20/2007 avg-cpu: %user %nice %system %iowait %steal %idle 10.01 0.00 2.92 5.44 0.00 81.63 ... Here the system thinks that over the default sampling period the