premature optimization is the root of all evil
过早优化是万恶之源
-
使用 CGroup 限制进程资源使用范围
-
绑定
-
独占
-
优先级
-
NUMA
-
irqbalance 中断负载均衡
TODO
TODO
Buffer:
-
起到
缓存
作用 -
针对的对象:
-
即将写入
磁盘
的数据 -
从
磁盘
读取的数据
-
Cache:
-
起到
缓存
作用 -
针对的对象:
-
从
文件
读取数据的页 -
写
文件
的页缓存
-
优先使用 C 标准库函数,而不是直接使用系统调用。
比如 fopen 、fread 等标准库函数,而不是直接使用 open、read 系统调用。
因为这些函数都会利用标准库里的缓存,通过缓存能有效的减少磁盘的操作。
-
当面对需要优化多个方面时,应该优先优化瓶颈点(或者优化后带来性能收益是最大的),因为这类问题一旦解决了,那么其它方面的优化可能就不需要了。
-
选择优化方法时也要考虑这个方法会不会带来副作用,比如,某个指标虽然被优化掉了,但是是以牺牲复杂度以及稳定性为代价的,这样的优化就需要十分的谨慎对待。