客户故事

客户要求做一款抽奖小程序

客户要求做一款抽奖小程序

服务器准备:2核4G内存50G空间

安装:git+bt安装

域名及CDN的准备

步骤记录:

1、下载项目(yt项目)

git clone https://gitee.com/gitsource001/yt.git yt


2、安装nodejs

通过bt安装nodejs

配置nodejs

image.png

source ~/.bash

项目启动脚本:

image.png

start_app.sh 

prod:

#!/bin/bash

 

# 设置环境变量并启动应用

EGG_SERVER_ENV=prod npm start


uat:

#!/bin/bash

 

# 设置环境变量并启动应用

EGG_SERVER_ENV=uat npm start

判断项目存活情况:

image.png

check_and_restart.sh

#!/bin/bash


is_port_open() {

        local PORT=$1

        nc -z localhost $PORT >/dev/null 2>&1

        return $?

}



START_SCRIPT="/root/yt_v1/start_app.sh"

while true; do

    if ! is_port_open 7001; then

        echo "$(date): Port 7001 is not open. Restarting application..."

        $START_SCRIPT

    fi

        sleep 5

done




环境:

# 部署说明


## 版本

  - mysql数据库:5.7.16

  - nodejs:v16.8.0

## 安装package命令

  - npm install 

## 替换正式地址

### api接口配置

  1. 打开 config/config.prod.js

  2. 替换hgdz api正式域名以及账号密码

   ```

    hgdz: {

      host: '',

      partner: '',

      secret: ''

    }

   ```

### 替换数据库配置

  1.  打开 config/config.prod.js

  2.  替换hgdz sequelize数据库账号密码

  ```

    sequelize={

      dialect: 'mysql',

      host: '',

      username: '',

      password: '',

      port: ,

      database: ''}

  ```

## 运行命令   

  - EGG_SERVER_ENV=prod npm start




压力测试:

Siege


  • 工具介绍
    • Siege 是一个 HTTP/HTTPS 压力测试和基准测试工具。它可以对 Web 服务器进行高强度的压力测试,模拟多个用户同时访问网站的场景,并且能够统计服务器的响应时间、吞吐量等性能数据。
  • 安装(以 CentOS 为例)
    • 可以通过下载源代码编译安装或者使用包管理器安装。使用yum安装的命令为yum -y install siege
  • 基本命令格式
    • siege -c <并发用户数> -r <重复次数> <目标URL>
    • 例如,要使用 100 个并发用户,每个用户重复请求 5 次对https://example.com/进行测试,命令如下:
    • siege -c 100 -r 5 https://example.com/
  • 参数说明
    • -c:并发用户数,指定同时发起请求的用户数量。
    • -r:重复次数,每个用户发送请求的次数。

这些工具可以帮助你评估网站在不同负载情况下的性能,但在实际使用时,请确保你的测试是在合法的环境下进行,并且不会对目标服务器造成损害。同时,压力测试的结果会受到多种因素的影响,如网络状况、服务器配置等,需要综合分析。
如何使用JMeter进行压力测试?
除了ab和JMeter,还有哪些常用的压力测试工具?
压力测试的指标有哪些?


-->