一、项目部署

1. 部署逻辑

因为是前后端分离开发、所以部署到服务器上前后端要分别部署。

  1. nginx:使用web服务做前端页面浏览的服务器。反向代理用来做发送后端数据接口请求的地址转发。
  2. tomcat:用来做后端服务器。

大致逻辑: 浏览器端输入url地址 —> 请求web服务器前端页面 —> 发送ajax请求 —> 访问反向代理 —> 请求后端接口 —> 返回数据给反向代理 —> 返回给浏览器。

这里使用80端口表示请求的是前端页面、90端口请求的是后端接口。

2. 部署运行后台项目

部署之前将配置文件的mysql访问的ip改为本地127.0.0.0,因为项目和mysql安装在同一个服务器上所以直接访问本地端口即可。
将java项目打包、将打包好的jar包上传到服务器中。
打包好后target下会有打包好的jar包、将他上传到服务器上。

安装jdk
上传好之后就是运行了、但要保证有没有jdk环境,没有就去安装。
阿里云centos 7下安装jdk

运行项目
将资料中
上传到与jar包相同文件目录下、使用sh startup.sh运行即可。startup.sh内容如下

然后访问接口测试即可、启动成功。

3. 部署前端页面

安装nginx
参考:centOS7.6安装nginx

将页面上传到ngin中的html文件夹下
上传之后将前端项目中的js文件夹下的common访问的ip地址改成90端口的代理端口
配置nginx
配置反向代理和webserver
注释掉nginx中的server配置
改为如下配置

# 前端服务器的配置
server {listen       80;location / {alias /usr/local/nginx/html/seckill-site/;index seckill.html}
}
# 后端接口的反向代理max_fails=3表示请求三次连接不上就不再请求这个url、fail_timeout=30s表示超过30s表示超时请求失败。
upstream myserver {server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
}server {listen       90;server_name _;location / {proxy_pass http://myserver;}
}

配置好之后重启nginx
cd到nginx所在目录下、使用./nginx -s reload命令重启
访问http://你的服务器id,数据显示在页面上表示配置成功。

二、压测

压测之前先使用top -h命令查看average(有三个数分别表示的是1分钟、5分钟、15分钟的负载状态)的属性状况

我们的目的是让这三个参数接近2、2表示负载差不多满了、超过2服务器会宕机。
还要看的就是各个进程占cpu的状态不能超过100%。

1. jemeter的安装配置

安装 :安装只要下载好压缩包解压就可以了。
配置:安装好了之后更改下配置文件的编码、不该就会乱码。
启动:安装配置好之后就是启动了、启动在解压目录下的bin文件夹中
使用:先在上面的option中修改为中文模式。

  1. 右击test plan创建一个线程组。
  2. 配置线程数、10秒50个线程、循环次数10次也就是100秒500个线程
  3. 添加取样器http请求、配置请求的端口

  4. 添加结果树和聚合报告

2. 压测

商品详情压测

配置请求的商品详情端口

配置好之后单击run启动

启动后结果树中会有请求的结果

聚合报告中会有本次压测的数据统计、吞吐量、平均请求时间等等。
压力测试之后使用top -h查看各个系统资源使用的状态、发现明显提升了。

下单操作压测

下单操作要登录才能测试、所以测试时我们可以携带cookie去测试。请求参数要有商品的id、数量活动id

配置下单操作测试
不同的就是多了一个cookie管理器用来模拟登录

run进行测试、结果树数据请求成功测试成功
查看聚合报告、测试的相关报告也显示出来了。

上面只发了一个请求,成功后再更改线程相关配置即可。

三、总结

面试时可以说自己通过压力测试优化通过什么方式优化了某些模块、将他的吞吐量什么的从多少提高到了多少、这样说会让面试官觉得你有理有据、而不是凭感觉去优化的就会很虚。
面试需要复习的八股文:

  1. 部署时linux用到的一些命令。
  2. mysql主从复制。
  3. 数据库的分布式事务。

(秒杀项目) 4.5 项目部署与压测相关推荐

  1. Flutter 新闻客户端 - 17 headless strapi centos 发布部署 + jmeter 压测

    本节目标 上传代码到生产环境 配置发布环境代码 docker-compose 方式启动项目 jmeter 做基线测试 调优服务器配置 视频 https://www.bilibili.com/video ...

  2. 字节跳动全链路压测(Rhino)的实践

    1. 背景 随着公司业务的不断扩张,用户流量在不断提升,研发体系的规模和复杂性也随之增加.线上服务的稳定性也越来越重要,服务性能问题,以及容量问题也越发明显. 因此有必要搭建一个有效压测系统,提供安全 ...

  3. 阿里巴巴高可用技术专家襄玲:压测环境的设计和搭建

    性能压测,是保障服务可用性和稳定性过程中,不可或缺的一环,但是有关性能压测的体系化分享并不多.从本期开始,我们将推出 <Performance Test Together> (简称PTT) ...

  4. 高德全链路压测平台TestPG的架构与实践

    导读 2018年十一当天,高德DAU突破一个亿,不断增长的日活带来喜悦的同时,也给支撑高德业务的技术人带来了挑战.如何保障系统的稳定性,如何保证系统能持续的为用户提供可靠的服务?是所有高德技术人面临的 ...

  5. 高德地图全链路压测平台TestPG的架构与实践

    高德地图:全链路压测平台TestPG的架构与实践 转自  https://www.sohu.com/a/341414025_692515 1. 导读 2019年以来,高德DAU一个亿进入常态,不断增长 ...

  6. DGIOT国内首家轻量级物联网开源平台——三千万电表集抄压测

    [小 迪 导读]:在物联平台运行时,设备不断增加,平台压力不断增加,平台的承受能力至关重要. dgiot方案 其他方案 模拟设备+真实设备测试平台承受能力 项目实践测试平台承受能力 压测背景 dgio ...

  7. 干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

    简介:全链路压测方案下,非加密场景下至少有 70% 的性能提升,加密场景下 10%的性能提升,并在 MGS 扩容完成后可实现大幅的性能提升,调优的结果远超预期. 业务背景 随着移动开发行业的步入存量时 ...

  8. 技术干货 | 应用性能提升 70%,探究 mPaaS 全链路压测的实现原理和实施路径

    简介: 全链路压测方案下,非加密场景下至少有 70% 的性能提升,加密场景下 10%的性能提升,并在 MGS 扩容完成后可实现大幅的性能提升,调优的结果远超预期. 业务背景 随着移动开发行业的步入存量 ...

  9. 大数据千亿级离线数仓项目第一天 环境部署和etl

    千亿级数仓项目第01天讲义 课程目标 了解大数据离线数仓架构 了解项目部署环境(数据规模和集群规模) 掌握ETL工具 Kettle常用组件的使用 能够掌握kettle作业与转换区别以及linux部署 ...

  10. 【Java】购买腾讯云服务器,并部署Spring boot项目,再到部署自己的个人博客,域名备案,安全连接配置

    云服务器部署 一.购买腾讯云服务器 二.简单配置 2.1 进入控制台 2.2 配置防火墙 2.3 配置访问密码 三.远程ssh登录连接服务器 四.云服务器安装软件 4.1 安装JDK 4.2 安装My ...

最新文章

  1. 用计算机画曲线教案,小学信息技术曲线工具教案
  2. VINS-Mono:一种鲁棒且通用的单目视觉惯性系统
  3. Java集合工具类(三)-泛型集合工具类,用于便捷快速的定义、操作集合。包含Set的交集、并集......
  4. CORS(跨域资源共享)
  5. Java的注解机制——Spring自动装配的实现原理
  6. 数字信号处理1:卷积
  7. 自动化测试--实现一套完全解耦的简单测试框架
  8. [Ext JS 7]7.2 事件(Event)
  9. iptables中DNAT、SNAT和MASQUERADE的理解
  10. Vijos P1127 级数求和【数列】
  11. DH算法证明及相应的理论知识
  12. gmail 设置 smtp_如何在Linux上使用Gmail或SMTP设置电子邮件警报
  13. Python定时爬虫脚本
  14. 515. 在每个树行中找最大值(中等 树 广度优先搜索 二叉树)
  15. GUI(Graphic User Interface) 图形用户界面
  16. SocialBook帮你扫除网红营销乱象
  17. auth认证相关 --token 深入了解
  18. 技术周刊(第10期):新技术又来了?
  19. iOS VoIP PushKit 的问题
  20. 国外客户搜索引擎对比,Snovio为代表的外贸助手功能一览

热门文章

  1. iOS开发中的HTML解析
  2. Nagios监控数据脚本记录一下。
  3. 轻量级web富文本框——wangEditor使用手册(3)——如何自定义配置菜单 demo
  4. 无法创建新虚拟机: 无法打开配置文件“E:\vmware\Windows7.vmx”: 拒绝访问。
  5. javascript 基础之事件(event)-------1
  6. ubuntu系统VNC服务器安装配置
  7. 11.软件架构设计:大型网站技术架构与业务架构融合之道 --- 多副本一致性
  8. 2.企业应用架构模式 --- 组织领域逻辑
  9. 59. web 攻击技术(3)
  10. 2. mac mysql error