服务器配置成功支撑了双11活动
2014-11-12 15:44
141 查看
服务器配置成功支撑了双11活动,圆满完成。
服务端架构:1台Apache作为代理,1台Tomcat提供抽奖活动服务,另外1台Tomcat提供用户认证服务。活动秒杀时间为11月11日11点11分。
1. 已记录的运行峰值:
1.1 已记录的网络连接和进程数据:
Apache:
网络连接达到8803,Apache进程达到997,峰值持续11分钟,从开始前2分钟到秒杀点后10分钟。这两个参数,从早上9点开始增加,到秒杀点达到峰值,随后在2个小时之后回复平时水平。平时水平,两个参数分别小于100。
Tomcat活动:
tomcat句柄数达到1156,网络连接达到3569,峰值持续11分钟,从开始前2分钟到秒杀点后10分钟。这两个参数,从早上9点开始增加,到秒杀点达到峰值,随后在1个小时之后回复平时水平。平时水平,两个参数分别是小于200和小于100。
Tomcat认证:
未记录。事先认为此服务器的负载不会太大,原因是此服务器仅仅作为后台管理和后续处理。及时性要求不高,因此没有作为监控目标。结果发现,这里其实不仅提供用户认证功能,还有调用外部服务进行后续处理的接口,由于对方限制,应用抛出了大量异常,造成日志迅速增加。好在日志增加到1.4G时,活动就结束了。
1.2 已记录的磁盘数据:vmstat
Apache:
bi峰值0,bo峰值1992。平时水平,bi平均值0,bo小于100。
Tomcat活动:
bi峰值4,bo峰值9972。平时水平,bi平均值0,bo小于100。
Tomcat认证:
bi峰值6176,bo峰值191020。平时水平,bi平均值0,bo小于600。
2. 配置项目:
Apache:
修改了Apache的prefork.c 的配置,设置启动进程数为50个,详细如下:
修改打开文件数到32768。
Tomcat活动:
修改了Connector的protocol,使用Nio。最大线程数设定为32000,如下所示:
修改打开文件数到32768。
Tomcat认证:
使用默认配置。
3. 并发用户数量
秒杀时刻,后台管理记录显示并发用户超过9000。
4. 总结
从事后记录,和当时的观测来看,整个活动过程很平稳顺利。服务器没有发生不能支持负载的现象。服务器的各项配置参数得到了验证。为今后开展类似活动,建立了基础,和参考的基准。
遗憾的是,没有估计到认证服务器的处理量,以及后台处理中,外部服务接口的瓶颈,导致Tomcat日志大小迅速增加。好在能够成功支撑到活动结束。
在活动结束后,立刻追加了监控并分割Tomcat日志的脚本。以防止今后出现类似问题。
服务端架构:1台Apache作为代理,1台Tomcat提供抽奖活动服务,另外1台Tomcat提供用户认证服务。活动秒杀时间为11月11日11点11分。
1. 已记录的运行峰值:
1.1 已记录的网络连接和进程数据:
Apache:
网络连接达到8803,Apache进程达到997,峰值持续11分钟,从开始前2分钟到秒杀点后10分钟。这两个参数,从早上9点开始增加,到秒杀点达到峰值,随后在2个小时之后回复平时水平。平时水平,两个参数分别小于100。
Tomcat活动:
tomcat句柄数达到1156,网络连接达到3569,峰值持续11分钟,从开始前2分钟到秒杀点后10分钟。这两个参数,从早上9点开始增加,到秒杀点达到峰值,随后在1个小时之后回复平时水平。平时水平,两个参数分别是小于200和小于100。
Tomcat认证:
未记录。事先认为此服务器的负载不会太大,原因是此服务器仅仅作为后台管理和后续处理。及时性要求不高,因此没有作为监控目标。结果发现,这里其实不仅提供用户认证功能,还有调用外部服务进行后续处理的接口,由于对方限制,应用抛出了大量异常,造成日志迅速增加。好在日志增加到1.4G时,活动就结束了。
1.2 已记录的磁盘数据:vmstat
Apache:
bi峰值0,bo峰值1992。平时水平,bi平均值0,bo小于100。
Tomcat活动:
bi峰值4,bo峰值9972。平时水平,bi平均值0,bo小于100。
Tomcat认证:
bi峰值6176,bo峰值191020。平时水平,bi平均值0,bo小于600。
2. 配置项目:
Apache:
修改了Apache的prefork.c 的配置,设置启动进程数为50个,详细如下:
StartServers 50 MinSpareServers 50 MaxSpareServers 50 ServerLimit 1500 MaxClients 1000 MaxRequestsPerChild 10000
修改打开文件数到32768。
Tomcat活动:
修改了Connector的protocol,使用Nio。最大线程数设定为32000,如下所示:
<Connector port="8080" URIEncoding="utf-8" maxThreads="32000" protocol="org.apache.coyote.http11.Http11NioProtocol" socket.appReadBufSize="1024" socket.appWriteBufSize="1024" bufferSize="1024" connectionTimeout="20000" redirectPort="8443" />
修改打开文件数到32768。
Tomcat认证:
使用默认配置。
3. 并发用户数量
秒杀时刻,后台管理记录显示并发用户超过9000。
4. 总结
从事后记录,和当时的观测来看,整个活动过程很平稳顺利。服务器没有发生不能支持负载的现象。服务器的各项配置参数得到了验证。为今后开展类似活动,建立了基础,和参考的基准。
遗憾的是,没有估计到认证服务器的处理量,以及后台处理中,外部服务接口的瓶颈,导致Tomcat日志大小迅速增加。好在能够成功支撑到活动结束。
在活动结束后,立刻追加了监控并分割Tomcat日志的脚本。以防止今后出现类似问题。
相关文章推荐
- 顶一下吧﹗成功配置Samba3.0为域登录和文件服务器的方法!!! [转]
- squid 2.7 通过域名反向代理多个服务器配置成功
- 阿里云服务器apache配置SSL证书成功开启Https(记录趟过的各种坑)
- 阿里云服务器配置SSL证书成功开启Https(记录趟过的各种坑)
- SPS安装过程中配置服务器场帐户设置页面不能正常显示以及IIS中SPS管理站点未配置成功问题的原因
- 64位windows 7下成功配置TortoiseGit使用Github服务器
- Fedora 14配置vsftpd服务器与开发板FTP传输手记【成功】
- NFS服务器安装配置实现Ubuntu12.04与arm文件共享,亲测成功
- NFS服务器安装配置实现Ubuntu12.04与arm文件共享,亲测成功
- 64位windows 7下成功配置TortoiseGit使用Github服务器
- 64位windows 7下成功配置TortoiseGit使用Github服务器
- 检查本地服务器是否配置成功
- DHCP服务器配置成功!
- 【原创】64位windows 7下成功配置TortoiseGit使用Github服务器
- 虚拟机上的Linux配置tftp服务器与下载uImage到mini2440开发板成功经验
- Grid ++ MIME 类型配置 载入报表数据,检查此URL及其数据,错误提示 网络服务器响应不成功