0%

用Auto Scaling进行网站压测

需求

使用自动化程序模拟用户下单,对SaaS建站前端Web界面进行压力测试

工具

  • [[AWS]]在EC2提供的Auto Scaling
  • 自动化程序运行环境:Windows Server 2019

步骤

  • 制作线上仿真环境:从rds快照中新建实例用于仿真数据库,同时redis也是同样的操作
  • 制作Windows Server 2019程序镜像,将程序打包在系统镜像中(IAM),并配置开机自启动

命令行

1
2
3
4
5
6
7
8
9
10
11
12
# 获取auto scaling实例
ids=$(aws autoscaling describe-auto-scaling-instances | jq -r .AutoScalingInstances[].InstanceId)
# 获取auto scaling实例IP
for id in ${ids[@]};do aws ec2 describe-instances --instance-ids $id | grep PrivateIpAddress | head -1 | awk -F ":" '{print $2}' | sed 's/[", ]//g'; done >> ids.txt
# 生成rdp文件
IFS=$'\n';for ip in `cat ids.txt`;do rm -f rdps/$ip.rdp && cp -f template.rdp rdps/$ip.rdp && dos2unix -f rdps/$ip.rdp && sed -i "s/LANIP/$ip/g" rdps/$ip.rdp;done
# 查看windows session
query session
# 查看任务和session
tasklist
# 查看服务
get-service

难点

Java写的自动化程序不能实现开机自启动

报错如下:

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.

解决思路:

欢迎关注我的其它发布渠道