发表于: 2018-04-05 17:43:58
1 547
今天完成的任务i:
统计了一下操作数据所需时间:
这是本地数据,除了第一次登陆花费了大量时间,剩下的操作花费时间都差不多。不知道多人同时操作什么情况,有几个delete处理时间很长感觉比较奇怪,按照任务要求应该是dao接口方面没有高于20ms的操作,全都在20毫秒以下,控制器我测不出来,想先放放然后去做任务4了。
IP统计的脚本,共有27个IP访问URL117次,分布如下。
脚本方面:只写了可以自动部署然后启动的脚本,之前日报有写过了,这里就不再写了,使用tomcat自带的startup.sh和shutdown.sh,而没有自己写出脚本。
云服务器,打入war包运行脚本部署:
resin界面
顺便,我的nginx是开机自启动所以把resin也代理了:
使用resin容器进行部署,这里需要去看一下日志的输出统计云服务器处理时间,然后resin日志输出挺乱的(主要是自己没有配置好),先看一下nginx的输出:
这个access.log是nginx的输出日志,本来应该是输出在nginx的logs目录下,结果给我输出到了
看了袁磊那个输出日志。上面是我口胡了,原来这不是nginx输出,是resin自己的输出,可是没找到这个配置文件在哪儿。
resin目录下,resin日志没配置好应该是,然后log4j的输出日志找不到了....重新配置了一下 找到了日志文件:
虽然是云服务器到那时感觉dao层处理还是很快。20毫秒以上的也基本是没有,100次有27次10毫秒以上的操作(不算第一次登陆的700毫秒)。
使用TOP命令查看(开启了tomcat):
未开启tomcat:
今天遇到的问题:
还是controller层和动静分离的问题,想先做任务四了。
今天的收获:
深度思考:
1.nginx服务器有什么作用?什么叫反向代理?为什么要使用反向代理?
有以下几个作用:
(1)反向代理
反向代理和正向代理:
最主要的区别是正向代理时服务器不知道到底是哪个客户访问了它(客户信息被隐藏,服务器只知道代理器的地址)
反向代理时客户不知道自己访问了哪个服务器(服务器信息被隐藏,客户只知道代理器的地址)。使用反向代理主要是为了实现负载均衡
(2)负载均衡
负载均衡,即反向代理时管理很多个服务器,这时需要设置权重决定从哪个服务器拿多少资源返还给客户端,如果A服务器响应速度快、B服务器响应速度慢那么就将大量请求发送给A,少量请求发送给B这样以同一个时间返回A+B的资源展现给用户,提高处理速度。
(3)动静分离(将nginx作为一个静态资源的服务器?)
正常是需要servlet去处理动态和静态资源,这样会让servlet加载资源极其缓慢,这时我们就可以将静态资源直接放在nginx里处理,而servlet容器只处理动态资源,加快了服务器的访问速度,有效提高用户体验。
(4)集群思想的操作
理解不是很好,集群思想通常和动静分离结合在一起,由于自己没有实现动静分离也没有很多个servlet容器也就没有实践集群思想。
2.什么是ssh?如何在linux服务器上从网站下载文件?
密码登陆,过程:
(1)远程主机收到登录请求,把公钥发送给用户
(2)用户使用公钥,加密登陆密码,发送到远程主机
(3)远程主机用私钥解密登陆密码,如果正确则统一登陆。
还有一种不用自己输入密码的方法:
(1)用户将自己公钥存储到远程主机上
(2)登陆时远程主机发送会一段随机字符串经过用户私钥加密返回
(3)远程主机用公钥解密
可以用wget命令然后在后面输入下载链接即可下载,链接可以自己去用各种方法得到啦(!)
3.如何写shell脚本?尝试自己编写一个简单脚本。
shell脚本里面应该加入一些逻辑判断和遍历搜索吧,自己写的脚本太简陋了,出错的话没有异常捕捉也没有停止功能只能自己手动停止。
4.tomcat、jetty、resin各容器有什么区别?如何优化这些容器配置?
jetty可以热部署,适合自己的小项目在本机上使用jetty测试,大公司的大项目配置则比较适合使用resin,而普通的公司项目则可以用tomcat部署。
明天的计划:
尽量解决问题,然后开始任务4.
PS:早上更新一波,今天想了一下为什么自己注解为什么会失效,之前一直过于关注jar包的冲突,今天换了个思路一下就找到了,把aspectj的设置放在spingmvc文件下,为什么,因为:
<context:annotation-config/>
<context:component-scan base-package="action">
<context:include-filter expression="org.springframework.stereotype.Controller" type="annotation"/>
</context:component-scan>
mvc框架控制器是在springmvc配置文件下生效的,注意注解位置,没有mvc文件框架就不能识别@controller控制器,现在我把我的AOP注解放在mvc文件下:
再次运行程序,可以跑通:
(无视测试两个字,昨天为了测到底哪里错了加了一堆systemout,这下让任务3的问题大概都解决了,下面就是操作100次统计一下响应时间然后开始任务4数据库的设计了)
100次 10-20有30次,20毫秒以上的有3次(算上第一次的601毫秒),其余均是10秒以下.
评论