秒杀项目回顾

默认内嵌tomcat配置

  • 等待队列长度,默认100
  • 最大可被连接数,默认10000
  • 最大工作线程数,默认200
  • 最小工作线程数,默认10

定制化内嵌tomcat开发

  • keepAliveTimeOut: 多少毫秒后不响应的断开keepalive
  • MaxKeepAliveRequests: 多少次请求后keep alive断开失效

单web容器上限

  • 4核cpu 8g内存单进程调度线程数800-1000以上后即花费巨大的时间在cpu调度上
  • 等待队列长度

mysql数据库ops容量问题

主键:千万级别数据 = 1-10毫秒

唯一索引:千万级别数据 = 10-100毫秒

非唯一索引:千万级别数据 = 100-1000毫秒

无索引:百万条数据 = 1000毫秒+

mysql数据库tps容量问题

非插入更新删除操作:同查询

插入操作:1w~10w tps(依赖配置优化,后续讲解)

nginx高性能原因

Epoll多路复用

Master worker进程模型

协程机制

  • 依附于线程的内存模型,切换开销小
  • 遇阻塞及归还执行权,代码同步
  • 无需加锁