`
liuwei1981
  • 浏览: 753356 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:156385
社区版块
存档分类
最新评论

我的程序员之路(十四) 第一次遇到网站在大访问量情况下崩溃

阅读更多

     网站上线后,运行还算稳定。但随着网站访问量的增加,网站开始出现不定时的服务器崩溃现象,导致网站无法访问。

 

     这个问题最为严重的影响是,但是服务器部署了一个Tomcat服务器,两个web应用全部都部署在这个服务器中,结果就是,一旦其中一个服务器导致Tomcat服务器当机,两个网站一起都无法访问,这个问题是需要立即解决的。

 

     网站访问量大,Tomcat服务器就崩溃,崩溃的原因很简单,内存溢出,访问量大是一个原因,后来我也发现,web开发使用的框架本身也有一些问题,会导致在一些情况下大量使用内存,最后导致服务器因为内存溢出而当机。

 

    当时的情况不允许我去从框架里慢慢找问题,解决方案也很简单:将两个web应用分拆到两个Tomcat服务器中,这样起码不会因为其中一个应用当机,连带另一个应用无法访问,然后使用Apache进行tomcat集群,至于内存溢出,因为当时服务器使用的Windows2003,所以解决方案就是,指定Windows任务计划,每天对两个Tomcat服务器进行重启操作,尽量减少内存溢出的可能性。

 

    apache进行Tomcat服务器集群,头儿在我之前就试着配置过,解决的问题和这次一样,但一直没有配置成功,就还是凑活着用一个Tomcat,但后期的计划是还要开发多个web应用,为了避免应用之间的相互影响,这个配置看起来是必须完成的了。

 

    头儿给了我他当初配置招的一些资料,但我试了之后还是有问题,所以自己还是零星的Google了一些配置资料,然后又找到Apache的帮助文档(这个最郁闷,只有英文的),开始一步步的试着配置。

 

    靠着硬是啃那份英文文档(头儿后来也提到过,因为英文文档的原因,一些问题解决不了,网上也没有解决方法所以配置一直失败),和零星的资料,最后还是比较成功的搞成了,达成了事前的预期,因为过程当初看起来比较复杂,所以在JE上还比较详细的记录了一下配置,并写了一份文档给了头儿保存。

 

    后来在另一个服务器进行部署,这个文档作用体现出来了,呵呵

  

    不管怎么样,这个问题总算是解决了,算是了了一个麻烦,也算是我的互联网应用的第一次遇到问题,还算是比较好的解决了。嘿嘿

  

 

   

分享到:
评论

相关推荐

    C#微软培训资料

    第十四章 继 承 .155 14.1 C#的继承机制.155 <<page 3>> page begin==================== 14.2 多 态 性 .159 14.3 抽象与密封 .163 14.4 继承中关于属性的一些问题.169 14.5 小 结 .172 第四部分 ...

    自己动手写操作系统(含源代码).part2

    另外,在第一版中帮助我的人,我要再次谢谢你们,因为没有第一版,也就没有第二版。 在所有人中我最应该感谢和最想感谢的,是我的妻子黄丹红,感谢你给我的所有建议,还有你帮我画的图。尤其是,当这本书在我预想的...

    自己动手写操作系统(含源代码).part1

    另外,在第一版中帮助我的人,我要再次谢谢你们,因为没有第一版,也就没有第二版。 在所有人中我最应该感谢和最想感谢的,是我的妻子黄丹红,感谢你给我的所有建议,还有你帮我画的图。尤其是,当这本书在我预想的...

    《你必须知道的495个C语言问题》

    1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是为什么? 15 1.29 为什么我的编译器不允许我定义大数组,如double array[256][256]? 15 命名空间 15 1.30 如何判断哪些标识符可以使用,...

    你必须知道的495个C语言问题.pdf

    1.28 文件中的第一个声明就报出奇怪的语法错误,可我看没什么问题。这是为什么? 1.29 为什么我的编译器不允许我定义大数组,如double array[256][256]? 命名空间 1.30 如何判断哪些标识符可以使用,哪些被保留了?...

    超级有影响力霸气的Java面试题大全文档

    当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例...

    java 面试题 总结

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...

    人才招聘系统2.5.1源码

    12、 缓存技术完美解决服务器压力负荷:为解决伪静态对服务器的要求,系统采用.Net的缓存技术来完美解决伪静态的服务器压力问题,保证在高访问量、高负荷下仍然正常工作。 13、 功能实用、性能安全、价格公道:一份...

    内存管理内存管理内存管理

    接下来,我将一次一个部分地对该清单进行解释。 在大部分操作系统中,内存分配由以下两个简单的函数来处理: void *malloc(long numbytes):该函数负责分配 numbytes 大小的内存,并返回指向第一个字节的指针。 ...

    华为编程开发规范与案例

    在一次测试中,并没有记得做了什么操作,发现HONET系统的主机复位了,之后,系统又工作正常了。由于没有打开后台的跟踪窗口,当时查了半天没有眉目。过了半天,现象又出现了,而且这次是主机在反复复位,系统根本...

    操作系统(内存管理)

    接下来,我将一次一个部分地对该清单进行解释。 在大部分操作系统中,内存分配由以下两个简单的函数来处理: void *malloc(long numbytes):该函数负责分配 numbytes 大小的内存,并返回指向第一个字节的指针。 ...

    云端,云端将未来十大IT技术之一的应用虚拟化,全球第一家引入个人用户领域,创造软件使用崭新方式:不安装、不重装、无垃圾。

     据中国互联网络信息中心(CNNIC)《第22次中国互联网络发展状况统计报告》显示,截至2008年6月30日,我国网民数量达到2.53亿,网民规模跃居世界第一位,中国电脑用户数量已经相当庞大。然而,尽管我国拥有海量电脑...

    最新名企标准通用C++面试题,

    程序在运行的时候用malloc或new申请任意多少的内存,程序员自己负责在何时用free或delete释放内存。动态内存的生存期由我们决定,使用非常灵活,但问题也最多。 16.是不是一个父类写了一个virtual 函数,如果子类...

    c++ 面试题 总结

    if (n == 10) // 第一种判断方式 if (10 == n) // 第二种判断方式 如果少了个=号,编译时就会报错,减少了出错的可能行,可以检测出是否少了= ------------------------------------------------------------------...

    新手学习C++入门资料

    上面例子中,第一次调用show()函数时,让编译器自动提供函数原型中指定的所有默认参数,第二次调用提供了第一个参数,而让编译器提供剩下的两个,第三次调用则提供了前面两个参数,编译器只需提供最后一个,最后一...

    Java经典入门教程pdf完整版

    由 Sun Microsystems第一次推向Java团体。它是一项能更好满足Java开发人员不同需求 的广泛倡议的一部分。 Sun Microsystems将JM定义为“一种以广泛的消费性产品为目标 的高度优化的Java运行时环境,包括寻呼机、移动...

Global site tag (gtag.js) - Google Analytics