0%

参考:Egg.js 文档:Cookie 与 Session

HTTP 请求都是无状态的,但是我们的 Web 应用通常都需要知道发起请求的人是谁。为了解决这个问题,HTTP 协议设计了一个特殊的请求头:Cookie。服务端可以通过响应头(set-cookie)将少量数据响应给客户端,浏览器会遵循协议将数据保存,并在下次请求同一个服务的时候带上(浏览器也会遵循协议,只在访问符合 Cookie 指定规则的网站时带上对应的 Cookie 来保证安全性)。

Cookies

Cookies 的作用

  1. 同一个浏览器访问同一个域的时候,不同页面之间的数据共享。
  2. 数据持久化。(关闭浏览器后重新打开浏览器页面,数据还存在)。
阅读全文 »

GET 传值

获取 URL 路径中的 GET 传值。

// app/controller/home.js
'use strict';

const Controller = require('egg').Controller;

class HomeController extends Controller {
  async index() {
    // 获取 get 传值
    const query = this.ctx.query;
    // 返回响应信息
    this.ctx.response.body = query;
  }
}

module.exports = HomeController;

// app/router.js
// Router 主要用来描述请求URL和具体承担执行动作的 Controller 的对应关系
'use strict';

module.exports = app => {
  const { router, controller } = app;
  router.get('/', controller.home.index);
};

测试请求:<http://127.0.0.1:7001/?name=andy&password=123456
页面显示:{“name”:”andy”,”password”:”123456”}

阅读全文 »

注意

⚠️
经过测试,在 DR 模式和 TUN 模式下,由于 Web Server 返回的 IP 数据包无法穿透 AWS 的 VPC 网关,因此只有 NAT 模式是可行的。

LVS+Keepalived 架构

LVS+Keepalived

阅读全文 »

Mac 上安装 AWS CLI 上的 plugin

# 1.下载文件
$ curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/mac/sessionmanager-bundle.zip" -o "sessionmanager-bundle.zip"

# 2.解压文件
$ unzip sessionmanager-bundle.zip

# 3.安装插件
$ sudo ./sessionmanager-bundle/install -i /usr/local/sessionmanagerplugin -b /usr/local/bin/session-manager-plugin

# 4.插件安装成功后,检验插件的安装情况
$ session-manager-plugin --version
1.0.37.0

执行命令进行登录:

aws ssm start-session --target instance-id
阅读全文 »

一、相关概念

与压力测试有关的概念:

1. 吞吐率(Requests per second)

  • 概念:服务器并发处理能力的量化描述,单位是 reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。
  • 计算公式:总请求数 / 处理完成这些请求数所花费的时间,即
    每秒请求数 = 完成请求数 / 测试时间。

2. 并发连接数(并发连接数)

  • 概念:某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。

3. 并发用户数(并发用户数,并发级别)

  • 概念:要注意区分这个概念和并发连接数之间的区别,一个用户可能同时会产生多个会话,也即连接数。

4. 用户平均请求等待时间(每个请求的时间)

  • 计算公式:处理完成所有请求数所花费的时间 /(总请求数 / 并发用户数),即
    每个请求的时间 = 测试所花费的时间 /(完整请求 / 并发级别)。

5. 服务器平均请求等待时间(每个请求的时间:跨所有并发请求)

  • 计算公式:处理完成所有请求数所花费的时间 / 总请求数,即所花费的时间 /testsComplete 请求。
    可以看到,它是吞吐率的倒数。
    同时,它也 = 用户平均请求等待时间 / 并发用户数,即
    每个请求的时间 / 并发级别。
阅读全文 »