[关闭]
@zhaikun 2017-02-16T16:18:41.000000Z 字数 1290 阅读 2057

运维规范

运维规范


【强制】遇到大文本文件(上GB或更大)的情况,禁止使用类vi编辑器打开

* 说明:vi打开大文件需要全部读取,然后再展示,这样会把文件的大小读取到内存里,可能会导致内存不足等服务器性能文件。
* 正例:使用tail、more、cat等工具

【强制】日志按照统一目录结构处理,按照每100M一个日志切割,日志文件必须做切割,日志内容格式要统一。

* 正例:目录结构为xxx/20170216 按照日期做目录切割

      体积大小:101M    server.log.1
                101M    server.log.10

【强制】代码字符集需要统一为UTF-8

* 说明:UTF-8兼容linux操作系统,统一字符集避免字符集过乱的现象

【强制】目录规范

* 说明:统一目录便于管理,实现统一化的要求。
* 正例:
app 应用文件目录
bin 启动文件目录
conf 配置文件目录
lib 库文件目录
logs 日志文件目录
shell 应用脚本目录
temp 临时文件目录

【推荐】数据库,服务调用通过内网

* 说明:通过内网会有量大好处 1、会加快调用的速度。2、避免把服务和数据库暴露公网的风险。

【推荐】调大服务器应用用户支持最大的进程数(适用于Centos6.x)

* 说明:如何正常使用是感受不到这个问题,当有一天服务进程泄漏,会造成单个用户的进程满掉,会导致用户无法登录系统。
* 正例: cat /etc/security/limits.d/90-nproc.conf | egrep -v  '#|^$' 修改配置文件下的参数

           *          soft    nproc     1024

【推荐】高并发服务器建议调小TCP协议的time_wait超时时间。

* 说明:操作系统默认240秒后,才会关闭处于time_wait状态的连接,在高并发访问下,服务器端会因为出于time_wait的连接数太多,可能无法建立新的连接,所以需要在服务器上调小此等待值。
* 正例:在服务器端修改/etc/sysctl.conf文件修改该缺省值(秒)

           net.ipv4.tcp_fin_timeout = 30

【推荐】新系统上线提供部署文档

* 说明:可以让运维人员充分了解系统,做好上线前的准备。
* 正例:

        系统介绍    
        硬件要求
        软件要求
        架构图
        配置参数说明
        优化
        压测
        监控

【推荐】调大服务器所支持的最大句柄数(File Descriport,简写为fd)

* 说明:主流操作系统的设计是将TCP/UDP连接采用与文件一样的方式去管理,ss即一个连接对应于一个fd。主流的linux服务器默认所支持最大fd数量为1024,当并发连接数很大时很容易因为fd不足而出现“open too many files”错误,导致新的连接无法建立。建议linux服务器所支持的最大句柄数调高倍数(与服务器内存数量相关)
* 正例:cat sss/etc/security/limits.conf | egrep -v '#|^$' 增加如下参数

           *               -       nofile          65535

【推荐】给JVM设置-XX:+HeapDumpOnOutOfMemoryError参数,让JVM碰到OOM场景时输出dump信息。

* 说明:OOM的发生是有概率的,甚至有规律地相隔数月才出现一例,出现时的现场信息对查错非常有价值。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注