一、docker安装
CentOS 安装 Docker CE
https://yeasy.gitbooks.io/docker_practice/content/install/centos.html
二、安装etcd
安装
https://yeasy.gitbooks.io/docker_practice/content/etcd/install.html
wgethttps://github.com/coreos/etcd/releases/download/v3.3.4/etcd-v3.3.4-linux-amd64.tar.gz
tar zxvf etcd-v3.3.4-linux-amd64.tar.gz -C ./
mv etcd-v3.3.4-linux-amd64 etcd
sudo mv etcd /opt/
cd /opt/etcd
cp etcd* /usr/local/bin/
启动etcd
------------------------------------
ETCD_HOME=~/workspace/provider/1000/2000/etcd
IP_ADDR=0.0.0.0
PORT=2379
CLIENT_URL=http://$IP_ADDR:$PORT
rm -rf $ETCD_HOME
mkdir -p $ETCD_HOME
nohup /opt/etcd/etcd --listen-client-urls $CLIENT_URL --advertise-client-urls $CLIENT_URL --data-dir $ETCD_HOME/data > $ETCD_HOME/etcd.log 2>&1 &
#测试启动后获取数据
curl -L http://172.17.0.1:2379/v2/keys
#接口连通性测试
nc -v -n -w 1 --send-only 127.0.0.1 2379
------------------------
其他工具安装:
vim
yum -y install vim
上传下载工具
yum -y instal lrzsz
yum -y install wget
三、安装git
yum -y install git
四、下载agent-demo
git clonehttps://code.aliyun.com/middlewarerace2018/agent-demo.git
git clonehttps://code.aliyun.com/middlewarerace2018/services.git
复制servcies下的 docker-entrypoint.sh 到 agent-demo下,可以修改provider和consumer启动时占用内存。
start-agent.sh 设置agent的启动内存。
自己打包agent的docker镜像。
docker build -t agent:0.0.1 .
docker images
五、关闭系统防火墙。
//www.greatytc.com/p/d6414b5295b8
systemctl stop firewalld.service
保证被压机可以访问到压测机
压测机搭建
1、安装python3
CentOS7安装Python3.6
https://www.yuzhi100.com/tutorial/centos/centos-anzhuang-python36
安装
pip3 install pipenv
pipenv install
2、安装git
yun -y install git
下载压测脚本
git clone https://code.aliyun.com/middlewarerace2018/benchmarker.git ~/benchmarker
3、wrk
https://blog.csdn.net/Diligent_ten/article/details/79081433
#安装
cd /usr/local/src yum install git-y
git clone https://github.com/wg/wrk.git
cd wrk
yum-yinstall gcc
make
ln-s/usr/local/src/wrk/wrk /usr/local/bin
#测试
wrk-t2-c50-d20--latency http://localhost:5000
参数说明
-t 需要模拟的线程数
-c 需要模拟的连接数
-d 测试的持续时间
–timeout 超时的时间
–latency 显示延迟统计
结果显示说明:
- Latency:响应时间
- Req/Sec:每个线程每秒钟的完成的请求数
- Avg:平均
- Max:最大
- Stdev:标准差
------------------------------------
压测准备
https://code.aliyun.com/middlewarerace2018/benchmarker
压测机
虽然 Docker 可以以非 root 身份运行,但是本脚本并没有采用这样的运行方式,因此需要使用sudo运行docker命令。且我们默认执行sudo命令的时候是需要输入密码的,因此要在当前用户的home目录下创建一个.passwd文件,里面包含sudo命令所需要使用的密码,例如:
!@#qweASD
<此处应有一个空行>
cd ~
vim .passwd
填写被压机密码
压测机
cd ~/benchmarker/mock/
./server.py
设置 docker启动时的最大内存
修改:自定义镜像
打开 ~/benchmarker/mock/server.py 修改 do_POST 方法中返回的数据
imagepath : 自改名字为自己打包的镜像名字。
cd ~/benchmarker/workflow
pipenv run python bootstrap.py -p
修改 bootsrap.conf 配置。启动参数。
设置压测机防火墙,保证8087可以访问。
将~/benchmarker/workflow/bootstrap_samples.conf文件改名为bootstrap.conf。
将Host参数修改为 mock server 的地址,默认是http://localhost:3000。
Token 参数可以随便取值。
RemoteHostUser 参数修改为被压机的登录用户(需要确保该用户能以免密码的形式ssh到被压机)。
使用 Mock Server 获取数据时,需要将 bootstrap.conf 文件中的 Host 参数修改为 http://localhost:3000,TaskFetchPath 参数修改为 /。
虚拟机下CentOS7开启SSH连接
https://blog.csdn.net/trackle400/article/details/52755571
echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
sysctl -p
http://www.talkwithtrend.com/Question/123839
https://yeasy.gitbooks.io/docker_practice/content/image/dockerfile/entrypoint.html
http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html