对系统的优化(缓存和静态化)
来源:互联网 发布:s7200plc编程软件下载 编辑:程序博客网 时间:2024/05/24 06:27
应用程序开发完初级阶段,在没有添加缓存的情况下测试,刷新页面或者请求主页时服务器的响应时间是特别长的,一个用户访问几乎接近0.3秒才能完成页面的加载。如果加大并发量测试,这里使用测试工具Jmeter.bat
使用50个线程数,循环10次执行。
在IndexService中添加缓存逻辑,保存一天:
添加缓存的测试:
优化三,Nginx资源静态化:
- 1、 静态页面如何生成?
- a) 请求到tomcat
- b) 在nginx中配置,如果静态化文件不存在就访问tomcat,如果存在就返回
- c) 后台任务,访问tomcat生成静态页面
- 2、 后台数据和静态页面的同步?
- a) 后台数据变更,发送消息
(RabbitMQ),
重新生成静态页面(删除这个静态页面) - b) 从业务角度考虑,能否定时同步数据(定时生成静态页面)
如何定时同步?(两种方案)
- 使用
Quartz
定时任务 +Httpclient
实现
请求地址:http://www.taotao.com/service/index
,不能直接请求http://www.taotao.com
,否则Nginx
返回的还是静态页面,通过请求上边的地址,跳过Nginx
,直接访问tomcat
- 使用
linux
中wget
命令,使用crontab
实现定时任务,更新页面
这种方案不需要写代码,只需要在服务端做个Nginx配置
以下使用的是第二种方法,处理同步问题
资源静态化配置:
server { listen 80; server_name www.taotao.com taotao.com; #charset koi8-r; #access_log logs/host.access.log main; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; #代理头信息添加Host set $staticIndex "C:/taotao-index/"; root $staticIndex; location ~*(/|/index.html)$ { //以“/”开头或者“/index.html”开头的, set $indexHtml $staticIndex/index.html; //把 C:/taotao-index/index.html文件赋值给$indexHtml if (!-e $indexHtml ){ //“-e”判断文件是否存在 proxy_pass http://127.0.0.1:8082; //不存在,请求这个ip,走tomcat # break; } rewrite $indexHtml break; //返回这个页面 proxy_connect_timeout 600; proxy_read_timeout 600; } location / { //其余的请求一样走这个ip路径 proxy_pass http://127.0.0.1:8082; proxy_connect_timeout 600; proxy_read_timeout 600; } }
linux
生成index.html
的命令:
生成html命令:wget -O/tmp/index.html //生成文件的路径 http://www.taotao.com/service/index //请求的域名地址 && echo "<div style='display:none'>Created: `date -d today +"%Y-%m-%d %H:%M:%S"`<div>" //请求成功写一段话(文件生成时间)到文件中 >> /tmp/index.html //覆盖index.heml 文件
创建shell脚本,/tmp/index.sh:#!/bin/bashwget -O/tmp/index.html http://www.baidu.com/ && echo "<div style='display:none'>Created: `date -d today +"%Y-%m-%d %H:%M:%S"`<div>" >> /tmp/index.html
添加系统任务(每一分钟执行一次):crontab -e*/1 * * * * sh /tmp/index.sh
静态化:
基于centos6.5快速搭建jdk,tomcat,nginx,显示个人静态页面(基于yum)
centos 6.6 Nginx 安装配置(已纠正)
nginx配置文件讲解
1 0
- 对系统的优化(缓存和静态化)
- 对“缓存”的全面理解和优化
- 对“缓存”的全面理解和优化
- Web系统的缓存机制的建立和优化
- Web系统的缓存机制的建立和优化
- 前端性能优化:网络存储的静态缓存和非必要内容优化
- 前端性能优化:网络存储的静态缓存和非必要内容优化 Web Storage
- 亿级Web系统搭建:缓存机制的建立和优化
- 缓存对系统的重要性
- 缓存对系统的重要性
- 静态缓存和动态缓存的比较
- 静态缓存和动态缓存的比较
- 静态缓存和动态缓存的比较
- tomcat和jetty对静态资源的处理和客户端缓存的处理
- 缓存、动态页面静态化、网站优化
- ThinkPHP的静态缓存,非系统写法。
- 近期思考的对程序和系统的一些优化
- 优化--字典值/轮播图缓存优化以及页面静态化
- 使用函数指针和map加载不确定配置文件的实现
- JavaScript基础
- SVM的两个参数 C 和 gamma
- pb三层架构
- JVM之线程实现
- 对系统的优化(缓存和静态化)
- Principles of Research
- LIBSVM中的核函数及其参数
- 【那些年遇到过的面试题】select poll epoll
- Java利用QRCode.jar包实现二维码编码与解码
- 3D平面反射矩阵
- JVM之线程安全、原子性实现
- 测试人员如何报一个bug,性能测试,负载测试,压力测试
- Java利用QRCode.jar包实现二维码编码与解码