发表于: 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秒以下.


返回列表 返回列表
评论

    分享到