发表于: 2020-12-09 23:43:42

1 1368


今天完成的事情:

配置好Resin,Tomcat,Jetty的Access.log(不同的WEB服务器的访问日志命名有区别),列出来每一个请求的响应时间,以MS为单位(jetty没配好,还有 响应时间没配置好


修改Resin的内存配置,给当前的WEB程序分别设置1G内存,512兆内存,32兆内存,测试最小启动的大小。


用Top命令查看WEB程序的进程号,用Kill 命令 杀掉WEB进程(注意别用错了,如果杀掉了别人的进程,你大概就会被人杀掉)


重新启动服务,用Resin自带的停止脚本,并停止服务,思考Kill命令和停止脚本的区别(明天思考)


同时碰到会做的任务和不会做的任务,先做会做的


明天计划的事情:

思考Kill命令和停止脚本的区别(明天思考)


编写部署脚本,部署到服务器的开发环境,用Postman测试是否成功


本地编写代码,实现Service的功能,编写Junit,插入几条模拟数据,用Postman测本地接口,看结果是否正常


提交代码到SVN/Git,部署代码到服务器,用Postman测试服务器数据是否成功


遇到的问题:

做完任务,总觉得少点什么,想到    是不是要思考这个任务的目的是什么?但深究下去,深究到什么程度好呢?做任务已经有点吃力了





收获:


resin,配置日志
配置resin日志,例子:
 <access-log path="logs/${host.name}/access.log" 
             archive-format="access-%Y%m%d.log.gz"
             format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
             rollover-size="10mb"
             rollover-period="1D"/>
 archive-format: 
  这个参数可以设置日志归档的格式,如设置为access-%Y%m%d.log可以在归档的时候自动按日期进行归档命名。另外还有一个特性需要说明的是,resin竟然支持自动压缩log文件,而且设置的方法非常简单,只要后缀名是gz就可以了,如access-%Y%m%d.log.gz,这样归档的时候会自动压缩,而且支持windows和linux系统。 
 
 format: 
  用于设置每条日志输出的格式,这个非常简单,而且通常使用系统内置的格式就可以了。 
 
 rollover-size: 
  用来设置归档日志文件的最小尺寸,单位可以设置成kb、mb等等,默认为1mb。 
 
 rollover-period: 
  用来设置归档日志文件的周期,单位可以是1D(一天)、1W(一周)、1M(一个月)等。
打开conf文件下的cluster-default.xml,加入
Pattern 属性的相关参数:
%a - 远程IP地址
%A - 本地IP地址
%b - 发送的字节数(Bytes sent)不包括HTTP headers的字节,如果为0则展示'-'
%B - 发送的字节数(Bytes sent)不包括HTTP headers的字节
%h - 远程主机名称(如果resolveHosts为false则展示IP)
%H - 请求协议
%l - 远程用户名,始终为'-'(Remote logical username from identd)
%m - 请求的方法(GETPOST等)
%p - 接受请求的本地端口
%q - 查询字符串,如果存在,有一个前置的'?'
%r - 请求的第一行(包括请求方法和请求的URI)
%s - response的HTTP状态码(200,404等)
%S - 用户的session ID
%t - 日期和时间,Common Log Format格式
%u - 被认证的远程用户不存在则展示'-'
%U - 请求URL路径
%v - 本地服务名
%D - 处理请求的时间,单位为毫秒
%T - 处理请求的时间,单位为秒
%I - 当前请求的线程名(can compare later with stacktraces)

不知道为啥会出现三个毫秒时间?



=======================================================
配置tomcat日志
打开service.xml文件,在最后面加上“%D”



启动Tomcat成功,但是端口没有出现


查看日志,是刚才配置错了


改了多次发现



端口成功出现




===============================================
根据师兄给的官方文档配日志,看不太懂,跟着做也出错了,于是还是看其他师兄的日报,跟着日报做



在控制台输出日志



启动jetty-logging日志模块,启动失败



java -jar start.jar --add-to-start=requestlog 添加日志模块命令



修改requestlog.ini,把注释给去掉


运行jetty,还是没看到响应时间,搜了一下,需要把  loglatency改成true


=========================
成功获取响应时间




执行速度:jetty>resin>tomcat
=========================================
修改Resin的内存配置,给当前的WEB程序分别设置1G内存,512兆内存,32兆内存,测试最小启动的大小。
1.打开cluster-default.xml 找到server-default 标签头



这里的jvm_args 就是jvm启动参数的配置,这里用的{}表达式读取某个配置文件的值
可以在resin.properties配置文件,jvm_args 处读取(默认注释)



可以这样定义设置


32兆内存



无法进去


日志会说是Java堆空间的问题



512兆内存



1G内存
毫无疑问,成功运行


============================================
Linux  各个命令的作用grep   ps   jamp  top
ps:只会显示在当前控制台下的属于当前用户的进程,可见reain在Java上运行


一般使用  ps -es,查看系统上所有进程


ps只能显示某个特定点的信息。想要实时显示,需要用到top命令,可键入q退出top


grep   搜索数据   命令格式  grep [options] pattern [file]
1.查看java对应的进程号,某个应用
ps aux | grep java               刚刚被kill掉的Java又自动运行了


2.根据进程号查看对应的信息,比如端口啥的
netstat -anop | grep PID



3.查看端口对应的进程号    lsof  -i:8088


===========================================
用Top命令查看WEB程序的进程号,用Kill 命令 杀掉WEB进程(注意别用错了,如果杀掉了别人的进程,你大概就会被人杀掉)

杀掉两个Java后,reain就不能运行了,kill只能使用PID而不能使用命令名


======================================
reain修改的内存的大小可以通过  这个命令jmap -heap PID    在这个地方看到



修改内存,重新启动reain




返回列表 返回列表
评论

    分享到