服务器最怕什么?
程序员文章站
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
推荐阅读
-
php中STDCLASS是什么?怎么使用?
-
Python查看多台服务器进程的脚本分享
-
用php筑个留言簿发送指定邮箱,不要连接数据库,也不要发送什么outlook邮箱
-
Python Web服务器Tornado使用小结
-
PHPMailer没法验证邮件服务器通过
-
array_search()函数,第3个参数,有什么功用
-
请教新建字段时候语句`aaa` varchar(11) NOT NULL,中的NOT NULL有什么作用呢
-
smartlmage on是什么意思 php smarty模版引擎中的缓存应用
-
Apache服务器怎样设置,可以隐藏html源代码内容?
-
system idle process是什么进程 使用PHP socke 向指定页面提交数据