发表于: 2017-10-24 23:40:19

2 697



今天完成的事情:

1.linux安装memcache

2. 部署项目至没有问题

3. 整合JAVA宣传手册

4. 找到了造成响应慢的原因


明天计划的事情

了解缓存穿透,模拟缓存穿透

2. 了解Nginx的Upstream

3. Nginx的Upstream来做负载


遇到的问题:

1.tomcat的多项目下静态资源问题

  <!-- 增加的静态资源映射配置 -->
  <Context path="/RecordFile" docBase="/home/lings/recordings" reloadable="true" crossContext="true"></Context>
</Host>
复制代码

红色那一行就是增加的静态资源映射配置。

/home/lings/recordings/test.wav

2. 页面中资源引用方式为

<div>
    <audio src="/RecordFile/test.wav" controls="controls"></audio>
</div>


当在tomact里配置path时,就不用再代码里写路径了,只需要写上/path路/文件名即可。


收获:

1.linux安装memcache

安装完后报错:

error while loading shared libraries: libevent-2.0.so.5


当我按照网上说法修补后,发现,用命令可以找到libevent-2.0.so.5,但是在可视化窗口上却找不到,而且还是报同样的错误。

解决办法重新安装libevent-2.0.10,不要改变默认路径

  1. 安装 libevent
2.解压 
# tar zxvf libevent-2.0.10-stable.tar.gz
3.进入目录
# cd libevent-2.0.10-stable
4. 切换到root
# su
5.安装gcc
# yum install gcc
6.设置安装路径(不要变)
# ./configure –prefix=/usr
7.编译
# make
8.安装
# make install
3.测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
安装memcache时,需要建立文件索引或者说文件连接(link),类似windows下的快捷方式
启动服务时出现 error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory
>whereis libevent-2.0.so.5
libevent-2.0.so.5: /usr/local/lib/libevent-2.0.so.5
> ldd /usr/local/bin/memcached   (ldd指令不熟悉的去查看下)
libevent-2.0.so.5 => not found    (没有找到该文件)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b83fce0e000)
libc.so.6 => /lib64/libc.so.6 (0x00002b83fd029000)
librt.so.1 => /lib64/librt.so.1 (0x00002b83fd381000)
/lib64/ld-linux-x86-64.so.2 (0x00002b83fc9b0000)
> LD_DEBUG=libs ./memcached -v
找到默认路径 /usr/lib/
>sudo ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
>sudo ldd /usr/local/bin/memcached
libevent-2.0.so.5 => /usr/lib64/libevent-2.0.so.5 (0x00002b83fcbcd000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002b83fce0e000)
libc.so.6 => /lib64/libc.so.6 (0x00002b83fd029000)
librt.so.1 => /lib64/librt.so.1 (0x00002b83fd381000)
/lib64/ld-linux-x86-64.so.2 (0x00002b83fc9b0000)


以上错误引起的原因是不会在lib里找到文件,只在lib64里找。


2. 部署项目至没有问题

tomcat部署两个项目(同一个端口下配置两个host):

      <Host name="task5.rcy9527.top"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

   <Context path="" reloadable="true" docBase="/usr/local/tomcat/webapps/taskfive" />

      </Host>

  

  

  <Host name="task6.rcy9527.top"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

   <Context path="" reloadable="true" docBase="/usr/local/tomcat/webapps/tasksix" />

      </Host>

可能会造成一个问题:具有相同的jar,可能当项目运行时tomcat或者服务器内存不足,需要对tomcat进行配置,精简jar



3. 找到了造成响应慢的原因

当通过nginx访问时比直接访问tomcat慢653

问师兄原因为,nnginx转发静态资源耗费了相当时间,解决办法为直接在nginx配置静态资源。

代码经过重构并且加上memcache更快了,并发量为100 循环5次(不经过nginx)


访问/a/home(JSP)

线上

本地


访问JSON

线上

本地:



进度: 

         任务开始时间:10.13

         预计完成时间:10.26

         是否有延期风险:是

禅道:http://task.ptteng.com/zentao/project-task-264.htm




返回列表 返回列表
评论

    分享到