系统的ulimit 参数调整
Nginx的open file参数调整: worker_rlimit_nofile (理论上的最大并发连接: max_clients = worker_processes * worker_connections)
多节点 IPHASH 权重
Jboss sessionid生成机制和Redis键值冲突的bug修复
Jboss 内存扩大
Jboss 并发数提高
业务(程序)并发点从数据库迁移至redis
使用redis的原子计数器来实现一个高效、高并发安全的计数策略(类似数据库的sequence)
共享存储,从无到SAN再到NAS
SAN存在并发读写时存在异常的问题,会引发web容器启动时文件扫描错误(直接把静态的、需要共享的文件夹从war代码包里剥离出去是一个更好的办法,让jboss启动的更快)
NAS需要在NAS管理端界面配置好客户端的访问IP才可以正常挂载
全部静态文件移交给Nginx
把所有静态文件目录的解析全部直接由nginx完成,程序在初期就规划好所有的静态文件在一个static目录下
Nginx 5** 错误页面定制
error_page 500 502 503 504 /500.html;
location = /500.html {
root /文件目录;
internal;
}为了降低服务器压力,错误页面使用的图片直接用了新浪微博的图床。
结论:
应该支持上万人的秒杀不会卡顿了,实际观察后再补充。
看起来很美,但是实际出问题了,应该不是架构的问题,但是架构也因此被调整了。