欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

服务器最怕什么?

程序员文章站 2022-03-07 08:12:35
...

1.无限日志
不管是Tomcat还是Jboss,都是一样的,如果不控制日志文件输出量,早晚把磁盘占满,造成服务宕机。
此时操作系统可能是没事的,但是服务就永远起不来了,起来也是继续挂。
例如我此时面对的Jboss,默认启动的是default模式,在它的conf文件夹下,有一个jboss-log4j.xml配置文件,里面有关于日志输出的配置:

<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
  <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  <param name="File" value="${jboss.server.log.dir}/server.log"/>
  <param name="Append" value="false"/>

  <!-- Rollover at midnight each day -->
  <param name="DatePattern" value="'.'yyyy-MM-dd"/>

  <!-- Rollover at the top of each hour
  <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
  -->

  <layout class="org.apache.log4j.PatternLayout">
  <!-- The default pattern: Date Priority [Category] Message\n -->
  <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>

  <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
  <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
   -->
  </layout>
</appender>

 
他会在Jboss安装目录的default下生成日志文件,并且每天一个,如果你的服务器爆出的异常比较多,那相信不出一周必死无疑。

 

2.死循环
谁会傻到写死循环?可是这不是傻不傻的问题,而是要么是新手没注意,要么是老手以为可以退出,但是时机永远不到造成死循环。
一般用到MVC模式的都知道,Action或者Controller都不实用单例,如此下去,一旦遇到死循环,内存早晚耗光。
所以,无论是什么样的业务,无论你需要多长时间,一定要有返回,哪怕是报错。
当然,报错和宕机到底那个严重,那是自己掂量着办的,相信有人会理解这句话。

 

3.你以为他就是服务器了
什么是服务器?大内存?多核CPU?上T硬盘?高速网络?反正我见识短,目前就知道这些配置。
不是硬件NB就算是服务器了,即使拥有最好的硬件,也是需要软件根据硬件进行相关配置才可以。
例如,JDK版本,Jboss和Tomcat版本和默认启动内存,网卡并连超时,数据库连接池大小等。
另外你的程序可以不给力,但是千万别捣乱,再NB的服务器,也禁不住SB似的折腾。

 

以上内容,个人意见,仅供参考,欢迎拍砖!

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com