Giter Site home page Giter Site logo

aliyun_tsung's Introduction

aliyun_tsung

利用阿里云按小时付费的云主机,快速部署搭建云测试平台。

云主机配置4 核CPU、4GB内存、0G数据盘、5M带宽(追求并发数可以选择不限带宽流量计费)

一小时费用1.51元一台可以创造65,000左右的连接数,请求数要看带宽和请求体的长度。

有英文资料使用亚马逊的12台云主机相同的测试软件,跑出过每秒过百万的请求数,阿里云应该也可以。

我实际使用10台云主机大概可以创建65万连接。再高连接数受限于阿里云一个账号只能开10台的限制,需要多个账号,部署多个集群。

目前github存放的是集群部署的1.0版本,操作比较繁琐,适合对python有一定了解的人使用

也怪我没有仔细看ECS的api接口,2.0版本会在各个方面有很大的改观

第一步会利用ECS的api制作桌面客户端,大大简化初始化过程

第二步会改进tsung测试过程的易用性,提供web界面,选择测试文件,启动/停止测试,刷新展示测试进度

以下为1.0版本的使用说明,注意事项,请完整阅读。

建议linux环境下运行脚本,windows下需要手动配置环境变量,将%python_home%\Scripts添加到环境变量中,%python_home%是你的python安装路径

requirements: python 安装 pexpect2.4和fabric1.6.1 高版本应该也没问题(使用setuptools安装,具体参见https://pypi.python.org/pypi/setuptools/0.7.2#installation-instructions)

使用说明: 开通云主机后,主机密码会短信通知,可以用360手机助手导出短信(注意用记事本另存为utf-8,直接导出是gbk的,xml头却写着utf-8,坑爹啊),使用sms_read中的python脚本,提取出来,输出到host.txt了。然后对照阿里云控制台,复制粘贴一下主机名。 之后修改hosts.py 添加主机列表 NodeInfo(主机名,外网ip,内网ip,用户名,密码) hosts.append(NodeInfo('AY13051510503503557fZ','42.96.188.120','10.129.84.235','root','7d6d336f')) hosts.append(NodeInfo('AY130515105037225ac8Z','42.96.188.123','10.129.90.188','root','8c32a4d6')) hosts.append(NodeInfo('AY1305151050358162e3Z','42.96.188.122','10.129.91.231','root','2fa5abb9'))

然后执行 cluster_init.py

会首先 更新copyfiles/hosts文件

然后各主机安装,修改,配置tsung

拷贝配置文件

生成.ssh目录

hosts第一台作为控制节点,生成密钥

下载控制节点的公钥/root/.ssh/id_rsa.pub本地 ,然后上传到其他节点的/root/.ssh/authorized_keys

配置完成

faq: 如果中途有步骤失败了怎么办? cluster_init目录,再次执行相应的步骤 eg:终端输入命令 fab upload_config_file 重新执行上传配置文件 fabric会从当前目录查找fabfile.py中查找对应方法名(windows注意配置环境变量,否则可能提示fab找不到)。

注意: 做集群的云主机必须在一个网段,但是阿里云虚拟机创建,不能保证开通的云主机在一个网段(截止到2013/6/14),建议使用青岛主机,杭州会有不在一个网段情况。青岛可能是用的人少的缘故。

各文件功能说明: cluster_init.py 主文件,执行所有命令

exchange_key.py 生成密钥并分发

fabfile.py 安装配置tsung

generate_hosts.py 更新hosts文件

hosts.py 主机信息

拷贝的文件说明:

copyfiles/tsung-1.4.2 tsung1.4.2 测试jabber有bug,需修改 源码 src/tsung/ts_jabber_common.erl 272行 去掉 version='1.0'

copyfiles/common-session ulimit相关

copyfiles/hosts tsung按主机名访问,所有云主机的主机名内部ip映射都要有

copyfiles/limits.conf ulimit相关

copyfiles/resolv.conf 更新解决下载地址找不到timeout的问题

copyfiles/sysctl.conf 修改应用端口范围限制 1025-65535

copyfiles/ssh_config 修改ssh默认配置,建立ssh通信之前不检查目标主机是否可信

aliyun_tsung's People

Contributors

yiliuyan161 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.