java web开发总结(一) :前言 & 我的server配置升级路线图
2011-03-08 12:27
381 查看
前言
做java开发也有4年了,回头看看,自己也到了一个需要总结积累,寻求突破的时候了。
我在前面的博文里有提到我的工作经历,这里再提一下我所经历的项目:一直在做web开发,从前端的html,javascript到后端的java程序,数据库;系统从最小几百访问量,到百万,千万访问量,亿级访问量。从单机到大规模分布式部署,由windows到linux。这四年中遇到的各种问题和解决,给我很多经验。体验得越多,越觉得互联网的伟大,个人力量的渺小,和自己离真正技术牛人的差距。技术无止境,唯有不断前行。
打算写一系列的文章,来总结自己的非计算机专业菜鸟在互联网开发中的成长历程。
不多不多提一句,做技术的,很多时候都太闷了,缺少交流,我也是如此,第一次在javaeye发文,希望借着文章来增进自己的交流。
总结过去,增进交流,认识不足,学习前进。这四点就是这系列文章的目的。
虽然在清华有很多遗憾,但是对清华的校训还是刻骨铭心,一直引为座右铭:
天行健,君子以自强不息;地势坤,君子以厚德载物。
愿与诸君共勉。
我的web server配置升级路线图
做java web开发,最前端跟用户打交道的,就是服务器和server了。掌握这些东西,会对开发高效的程序有很大的帮助。
不得不说,软件更换升级,带来的硬件成本的节省,就是一种能力。相信在中小公司,这种能力会是非常值得重视的。
不断提升单机服务能力,挖掘硬件效率是非常值得去做得一件事。从中收获到的,是程序员的快感,欣喜若狂的快感。
总结一下这些年我的系统升级的路线:
1 windows xp + tomcat
2 windows 2003 + tomcat
3 windows 2003 + 单apache + 单tomcat
4 windows 2003 + apache + tomcat负载均衡
5 windows 2003 + apache + tomcat负载均衡 + 多机dns轮询
6 ubuntu + apache + tomcat负载均衡
7 ubuntu + nginx + tomcat均衡
不得不感叹一下最原始开发的时候,直接就是台式机做服务器,xp系统加tomcat就上线了。最牛逼的时候,是在服务器上用myeclipse启动server,然后debug异常。
这就是小公司,无技术积累,一切都是原始起步的痛。不过跟随系统成长的成长曲线,非常适合我这个菜鸟。
言归正传,继续来说前端server配置:
最早的配置是tomcat默认配置,能服务就OK。然后慢慢的访问量大了以后,就不得不调查研究tomcat的优化配置。访问量到了一定级别以后,就开始研究apache+tomcat动静分离。动静分离以后tomcat还是响应不过来,就继续研究apache+多tomcat的负载均衡。再后来接触到ubuntu后,才知道linux下,web程序跟windows的差距,简直就是一个天上,一个地下。再后来接触到nginx后,发现在某些方面,apache也是老态龙钟,无法比拟。这就是技术力量,技术的魔法,不得不为创造出这些技术的前辈们所折服。
这些年的经验:系统增长到比较高的并发的时候,一定要有人研究配置,系统配置、server配置,不断地跟随系统的成长而进行优化。
一些并发数据对比:
服务器配置8G内存,2.0GHz 8核CPU:
windows 2003下,apache配置到3000线程,是以前配置的极限了。
改成linux后,压力测试下apache到5000并发。
再把apache换成nginx后,轻松突破1.5万并发。
当然,linux下还有一个很重要的问题,必须修改内核参数才能提高系统并发。
目前系统下单机每日千万级别的访问量是非常轻松的(当然还跟应用本身有关)。
具体的配置对比在下一篇web server配置里再详细说。
做java开发也有4年了,回头看看,自己也到了一个需要总结积累,寻求突破的时候了。
我在前面的博文里有提到我的工作经历,这里再提一下我所经历的项目:一直在做web开发,从前端的html,javascript到后端的java程序,数据库;系统从最小几百访问量,到百万,千万访问量,亿级访问量。从单机到大规模分布式部署,由windows到linux。这四年中遇到的各种问题和解决,给我很多经验。体验得越多,越觉得互联网的伟大,个人力量的渺小,和自己离真正技术牛人的差距。技术无止境,唯有不断前行。
打算写一系列的文章,来总结自己的非计算机专业菜鸟在互联网开发中的成长历程。
不多不多提一句,做技术的,很多时候都太闷了,缺少交流,我也是如此,第一次在javaeye发文,希望借着文章来增进自己的交流。
总结过去,增进交流,认识不足,学习前进。这四点就是这系列文章的目的。
虽然在清华有很多遗憾,但是对清华的校训还是刻骨铭心,一直引为座右铭:
天行健,君子以自强不息;地势坤,君子以厚德载物。
愿与诸君共勉。
我的web server配置升级路线图
做java web开发,最前端跟用户打交道的,就是服务器和server了。掌握这些东西,会对开发高效的程序有很大的帮助。
不得不说,软件更换升级,带来的硬件成本的节省,就是一种能力。相信在中小公司,这种能力会是非常值得重视的。
不断提升单机服务能力,挖掘硬件效率是非常值得去做得一件事。从中收获到的,是程序员的快感,欣喜若狂的快感。
总结一下这些年我的系统升级的路线:
1 windows xp + tomcat
2 windows 2003 + tomcat
3 windows 2003 + 单apache + 单tomcat
4 windows 2003 + apache + tomcat负载均衡
5 windows 2003 + apache + tomcat负载均衡 + 多机dns轮询
6 ubuntu + apache + tomcat负载均衡
7 ubuntu + nginx + tomcat均衡
不得不感叹一下最原始开发的时候,直接就是台式机做服务器,xp系统加tomcat就上线了。最牛逼的时候,是在服务器上用myeclipse启动server,然后debug异常。
这就是小公司,无技术积累,一切都是原始起步的痛。不过跟随系统成长的成长曲线,非常适合我这个菜鸟。
言归正传,继续来说前端server配置:
最早的配置是tomcat默认配置,能服务就OK。然后慢慢的访问量大了以后,就不得不调查研究tomcat的优化配置。访问量到了一定级别以后,就开始研究apache+tomcat动静分离。动静分离以后tomcat还是响应不过来,就继续研究apache+多tomcat的负载均衡。再后来接触到ubuntu后,才知道linux下,web程序跟windows的差距,简直就是一个天上,一个地下。再后来接触到nginx后,发现在某些方面,apache也是老态龙钟,无法比拟。这就是技术力量,技术的魔法,不得不为创造出这些技术的前辈们所折服。
这些年的经验:系统增长到比较高的并发的时候,一定要有人研究配置,系统配置、server配置,不断地跟随系统的成长而进行优化。
一些并发数据对比:
服务器配置8G内存,2.0GHz 8核CPU:
windows 2003下,apache配置到3000线程,是以前配置的极限了。
改成linux后,压力测试下apache到5000并发。
再把apache换成nginx后,轻松突破1.5万并发。
当然,linux下还有一个很重要的问题,必须修改内核参数才能提高系统并发。
目前系统下单机每日千万级别的访问量是非常轻松的(当然还跟应用本身有关)。
具体的配置对比在下一篇web server配置里再详细说。
相关文章推荐
- Sharepoint 2007配置完毕后打开主页错误Server Error in '/' Application.
- 在CentOS5.8下安装RabbitServer和配置PHP的amp扩展
- 无法升级数据库 'SchoolPlatForm1',因为它是只读的,或者具有只读文件。请将数据库或文件设为可写,然后重新运行恢复操作。 (Microsoft SQL Server,错误: 3415)
- 在VMWare中配置SQLServer2005镜像 Step by Step(一)——前言&预安装
- ubuntu server 14.04 配置TensorFlow & Keras环境
- 搭建world wind WMS server(For world wind c# with LandSAT&SRTM30)之client配置
- 学习记录:交叉编译环境配置(buildroot and gdb&gdbserver)
- 关于"xampp中mysql中配置问题:Unknown initial character set index '48' received from server错误解决方法"
- .net项目配置文件导致runat="server"无效,不能自动生成声明代码的问题
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第七步---英雄要升级&属性--解析csv配置文件
- Ubuntu Server 14.04 & Apache2.4 虚拟主机、模块重写、隐藏入口文件配置
- Spring&Quartz使用数据库集群配置(MySQL/SQLServer/Oracle)
- sqlserver 连接oracle 配置详解 .
- 在VMWare中配置SQLServer2005同步复制Step by Step(一)——前言&预安装
- Ubuntu8.04 Server 全配置指南 (前言)
- IBM P server中VNC &Eclipse的配置情况分析
- DL服务器配置升级--多磁盘合并技术&home分区更换
- Log4j SocketAppender & SocketServer 配置心得 (摘抄)
- Struts 2 配置拦截所有异常并显示为"系统模块正在升级中"
- Server Side Swift With Vapor(基础配置&使用DropLet类实现http请求)