数据库类程序该用 fsync 还是 fdatasync,为什么 fsync 是性能杀手?
数据库类程序该用 fsync 还是 fdatasync,为什么 fsync 是性能杀手? 本文先给出可直接复述的结论,再用最小代码说明fsync fdatasync 区别 性能 持久化的工作方式、判断依据、项目边界和常见误区。
操作系统 · 性能优化面试题第 1 页,显示第 1–11 题,共找到 11 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
数据库类程序该用 fsync 还是 fdatasync,为什么 fsync 是性能杀手? 本文先给出可直接复述的结论,再用最小代码说明fsync fdatasync 区别 性能 持久化的工作方式、判断依据、项目边界和常见误区。
mmap 与 read/write 读写文件的性能与语义差异体现在哪里? 本文先给出可直接复述的结论,再用最小代码说明mmap 与 read 区别 零拷贝 缺页的工作方式、判断依据、项目边界和常见误区。
select 在高并发下的三个主要瓶颈是什么? 本文先给出可直接复述的结论,再用最小代码说明select FD_SETSIZE 1024 遍历 性能瓶颈的工作方式、判断依据、项目边界和常见误区。
为什么按行遍历二维数组比按列遍历快,缓存局部性如何影响程序性能? 本文先给出可直接复述的结论,再用最小代码说明缓存局部性 行优先 遍历 性能的工作方式、判断依据、项目边界和常见误区。
为什么 fork 一个大内存进程通常很快,什么情况下 fork 会变慢? 本文先给出可直接复述的结论,再用最小代码说明fork 性能 页表复制 开销的工作方式、判断依据、项目边界和常见误区。
大页(Huge Page)为什么能提升数据库等应用的性能? 本文先给出可直接复述的结论,再用最小代码说明Huge Page 大页 TLB 性能的工作方式、判断依据、项目边界和常见误区。
次缺页和主缺页有什么区别,如何用 minflt/majflt 判断程序瓶颈? 本文先给出可直接复述的结论,再用最小代码说明minor fault major fault 区别 性能的工作方式、判断依据、项目边界和常见误区。
为什么频繁上下文切换会降低性能,如何在压测中观测? 本文先给出可直接复述的结论,再用最小代码说明上下文切换开销 vmstat的工作方式、判断依据、项目边界和常见误区。
CPU 亲和性是什么,绑核在什么场景能提升性能? 本文先给出可直接复述的结论,再用最小代码说明CPU 亲和性 sched_setaffinity的工作方式、判断依据、项目边界和常见误区。
select、poll、epoll 在 fd 数量增长时性能差异的根源是什么? 本文先给出可直接复述的结论,再用最小代码说明select poll epoll 区别的工作方式、判断依据、项目边界和常见误区。
本机通信选 Unix domain socket 还是 TCP loopback,性能与功能差在哪? 本文先给出可直接复述的结论,再用最小代码说明Unix domain socket TCP 本机通信的工作方式、判断依据、项目边界和常见误区。