当前位置: 首页 > news >正文

哪里有免费的网站源码app营销的特点与优势

哪里有免费的网站源码,app营销的特点与优势,鄂尔多斯市建设厅官方网站,华企网站建设推广优化谈到性能测试工具#xff0c;我们首先想到的是LoadRunner或JMeter。LoadRunner是非常有名的商业性能测试工具#xff0c;功能非常强大。但现在一般不推荐使用该工具来进行性能测试#xff0c;主要是使用也较为复杂#xff0c;而且该工具体积比较大#xff0c;需要付费且价…谈到性能测试工具我们首先想到的是LoadRunner或JMeter。LoadRunner是非常有名的商业性能测试工具功能非常强大。但现在一般不推荐使用该工具来进行性能测试主要是使用也较为复杂而且该工具体积比较大需要付费且价格不便宜。 JMeter同样是非常有名的开源性能测试工具功能也很完善我们之前介绍了它作为接口测试工具的使用。 Locust同样是性能测试工具虽然官方这样来描述它“An open source load testing tool.”但它和前面两个工具有一些不同。 Locust简介 Locust完全基于Python编程语言采用纯 Python描述测试脚本并且HTTP请求完全基于Requests库。除了HTTP/HTTPS协议外Locust还可以测试其他协议的系统只需采用Python调用对应的库进行请求描述即可。 LoadRunner和JMeter这类采用进程和线程的测试工具都很难在单机上模拟出较高的并发压力。Locust的并发机制摒弃了进程和线程采用协程gevent的机制。协程避免了系统级资源调度因此可以大幅提高单机的并发能力。 下载安装 官网地址https://www.locust.io 使用pip命令安装Locust pip install locustio安装完成之后检测是否安装成功 C:\Users\Shuqinglocust -help Usage: locust [options] [LocustClass [LocustClass2 ... ]]Options:-h, --help show this help message and exit-H HOST, --hostHOST Host to load test in the following format:http://10.21.32.33--web-hostWEB_HOST Host to bind the web interface to. Defaults to (allinterfaces)-P PORT, --portPORT, --web-portPORTPort on which to run web host-f LOCUSTFILE, --locustfileLOCUSTFILEPython module file to import, e.g. ../other.py.Default: locustfile....测试案例 测试场景 针对如下两个接口进行性能测试 http://127.0.0.1:8000/users/ http://127.0.0.1:8000/groups/ 以上两个接口也就是我们之前项目django_restful的接口 负载场景 每秒生成2个用户总共生成60个用户。负载测试5分钟然后查看接口的平均响应时间。 脚本实现 restful_api_locust.py from locust import HttpLocust,TaskSet,taskclass UserBehavior(TaskSet):task(2)def test_users(self):self.client.get(/users/,auth(51zxw,zxw20182018))task(1)def test_groups(self):self.client.get(/groups/,auth(51zxw,zxw20182018))class WebsiteUser(HttpLocust):task_set UserBehaviormin_wait 3000max_wait 6000 UserBehavior类继承TaskSet类用于描述用户行为。 task装饰该方法为一个事务,后面的数字表示请求比例上面的比例为2:1 默认都是1:1test_users()方法表示一个用户行为这里是请求user接口。test_groups()方法表示请求group接口。client.get()用于指定请求的路径。 WebsiteUser类用于设置性能测试。 task_set指向一个定义的用户行为类。min_wait执行事务之间用户等待时间的下界单位毫秒。max_wait执行事务之间用户等待时间的上界单位毫秒。 执行测试 使用如下命令开始启动测试 C:\Users\Shuqinglocust -f D:\api_test\locust\restful_api_locust.py --hosthttp://127.0.0.1:8000 [2018-07-24 15:39:22,917] LAPTOP-8B5JADC8/INFO/locust.main: Starting web monitor at *:8089 [2018-07-24 15:39:22,917] LAPTOP-8B5JADC8/INFO/locust.main: Starting Locust 0.8.1在浏览器打开localhost:8089可以看到如下页面 Number of users to simulate设置模拟用户数。Hatch rateusers spawned/second每秒产生启动的虚拟用户数。单击“Start swarming”按钮开始运行性能测试 运行之后可以看到主界面如下 性能测试参数如下。 Type请求的类型例如GET/POST。Name请求的路径。request当前请求的数量。fails当前请求失败的数量。Median中间值单位毫秒一半的服务器响应时间低于该值而另一半高于该值。Average平均值单位毫秒所有请求的平均响应时间。Min请求的最小服务器响应时间单位毫秒。Max请求的最大服务器响应时间单位毫秒。Content Size单个请求的大小单位字节。reqs/sec每秒钟请求的个数。 点击 Charts 菜单可以查看性能图表 图表含义如下 Total Request per Second 每秒的请求数Average Response Time: 平均响应时间Number of Users: 用户数 参数化 测试场景 如果想对如下接口进行并发测试则可以将id进行参数化设置 http://127.0.0.1:8000/groups/1/ http://127.0.0.1:8000/groups/2/ http://127.0.0.1:8000/users/1/ http://127.0.0.1:8000/users/2/代码实现 locust_users_groups.py from locust import HttpLocust,TaskSet,taskclass UserBehavior(TaskSet):def on_start(self):#设置user和group参数下标初始值self.users_index0self.groups_index0taskdef test_users(self):#读取参数users_idself.locust.id[self.users_index]url/users/str(users_id)/self.client.get(url,auth(51zxw,zxw20182018))#取余运算循环遍历参数self.users_index(self.users_index1)%len(self.locust.id)taskdef test_groups(self):#参数化groups_idself.locust.id[self.groups_index]url/groups/str(groups_id)/self.client.get(url,auth(51zxw,zxw20182018))self.groups_index(self.groups_index1)%len(self.locust.id)class WebsiteUser(HttpLocust):task_set UserBehavior#参数配置id[1,2]min_wait 3000max_wait 6000#host配置host http://127.0.0.1:8000 运行结果 执行如下命令即可运行测试 C:\Users\Shuqinglocust -f D:\api_test\locust\locust_users_groups.py运行模式 no-web运行 前面是通过登录web来运行测试的其实也可以非web状态来运行,如cmd命令来运行。如果需要非Web形式运行则需使用--no-web参数并会用到如下几个参数。 -c, --clients指定并发用户数-r, --hatch-rate指定并发加压速率默认值位1。-t, --run-time设置运行时间。如(300s,20m, 3h, 1h30m等 运行命令如下 locust -f D:\api_test\locust\locust_users_groups.py --no-web -c 10 -r 2 -t 15s运行结果如下 C:\Users\Shuqinglocust -f D:\api_test\locust\locust_users_groups.py --no-web -c 10 -r 2 -t 15s [2018-08-21 10:12:59,017] LAPTOP-8B5JADC8/INFO/locust.main: Run time limit set to 15 seconds [2018-08-21 10:12:59,017] LAPTOP-8B5JADC8/INFO/locust.main: Starting Locust 0.8 [2018-08-21 10:12:59,018] LAPTOP-8B5JADC8/INFO/locust.runners: Hatching and swarming 10 clients at the rate 2 clients/s...Name # reqs # fails Avg Min Max | Median req/s -------------------------------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------------------------------Total 0 0(0.00%) 0.00Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 2 0(0.00%) 134 122 146 | 120 0.00GET /users/1/ 2 0(0.00%) 118 100 136 | 100 0.00 --------------------------------------------------------------------------------------------------------------------------------------------Total 4 0(0.00%) 0.00Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 4 0(0.00%) 135 122 146 | 130 1.00GET /users/1/ 4 0(0.00%) 115 100 136 | 100 1.00 --------------------------------------------------------------------------------------------------------------------------------------------Total 8 0(0.00%) 2.00[2018-08-21 10:13:04,034] LAPTOP-8B5JADC8/INFO/locust.runners: All locusts hatched: WebsiteUser: 10 [2018-08-21 10:13:04,034] LAPTOP-8B5JADC8/INFO/locust.runners: Resetting statsName # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 1 0(0.00%) 147 147 147 | 150 0.00GET /users/1/ 2 0(0.00%) 110 92 128 | 92 0.00GET /users/2/ 1 0(0.00%) 102 102 102 | 100 0.00 --------------------------------------------------------------------------------------------------------------------------------------------Total 4 0(0.00%) 0.00Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 3 0(0.00%) 129 101 147 | 140 0.00GET /users/1/ 3 0(0.00%) 108 92 128 | 100 0.00GET /users/2/ 1 0(0.00%) 102 102 102 | 100 0.00 --------------------------------------------------------------------------------------------------------------------------------------------Total 7 0(0.00%) 0.00Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 4 0(0.00%) 125 101 147 | 110 1.00GET /groups/2/ 2 0(0.00%) 136 116 156 | 120 0.00GET /users/1/ 3 0(0.00%) 108 92 128 | 100 1.00GET /users/2/ 2 0(0.00%) 102 102 102 | 100 0.33 --------------------------------------------------------------------------------------------------------------------------------------------Total 11 0(0.00%) 2.33Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 5 0(0.00%) 123 101 147 | 120 0.75GET /groups/2/ 3 0(0.00%) 124 100 156 | 120 0.50GET /users/1/ 3 0(0.00%) 108 92 128 | 100 0.75GET /users/2/ 4 0(0.00%) 114 102 153 | 100 0.25 --------------------------------------------------------------------------------------------------------------------------------------------Total 15 0(0.00%) 2.25Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 6 0(0.00%) 128 101 157 | 120 0.67GET /groups/2/ 5 0(0.00%) 127 100 156 | 120 0.33GET /users/1/ 4 0(0.00%) 108 92 128 | 100 0.50GET /users/2/ 5 0(0.00%) 121 102 153 | 100 0.50 --------------------------------------------------------------------------------------------------------------------------------------------Total 20 0(0.00%) 2.00[2018-08-21 10:13:13,691] LAPTOP-8B5JADC8/INFO/locust.main: Time limit reached. Stopping Locust. [2018-08-21 10:13:13,693] LAPTOP-8B5JADC8/INFO/locust.main: Shutting down (exit code 0), bye.Name # reqs # fails Avg Min Max | Median req/s --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 6 0(0.00%) 128 101 157 | 120 0.67GET /groups/2/ 5 0(0.00%) 127 100 156 | 120 0.33GET /users/1/ 4 0(0.00%) 108 92 128 | 100 0.50GET /users/2/ 5 0(0.00%) 121 102 153 | 100 0.50 --------------------------------------------------------------------------------------------------------------------------------------------Total 20 0(0.00%) 2.00Percentage of the requests completed within given timesName # reqs 50% 66% 75% 80% 90% 95% 98% 99% 100% --------------------------------------------------------------------------------------------------------------------------------------------GET /groups/1/ 6 140 140 150 150 160 160 160 160 157GET /groups/2/ 5 120 150 150 160 160 160 160 160 156GET /users/1/ 4 110 110 130 130 130 130 130 130 128GET /users/2/ 5 100 150 150 150 150 150 150 150 153 --------------------------------------------------------------------------------------------------------------------------------------------Total 20 120 140 150 150 160 160 160 160 157 分布式运行 上面我们都是单台机器来执行性能测试但是当单台机器不够模拟足够多的用户时Locust支持运行在多台机器中进行压力测试。分布式运行一般是一台master 多台slave 如下图所示 首先定义一台 master C:\Users\Shuqinglocust -f D:\api_test\locust\locust_users_groups.py --master 然后定义 slave C:\Users\Shuqinglocust -f D:\api_test\locust\locust_users_groups.py --slave如果slave与master不在同一台机器上还需要通过--master-host参数再指定master的IP地址。 C:\Users\Shuqinglocust -f D:\api_test\locust\locust_users_groups.py --slave --master-host master_ip运行之后可以看到web界面显示的SLAVES数量
http://www.w-s-a.com/news/879741/

相关文章:

  • 海洋牧场网站建设大良网站设计价格
  • 手机端网站关键字排名北京seo公司哪家好
  • 福建建设培训中心网站网站建站服务公司地址
  • 青岛网站优化快速排名企业网址怎么整
  • 做公司网站用什么系统seo搜索排名优化方法
  • dw怎么做网站标题图标做网站重庆
  • 机场建设相关网站公司官网设计制作
  • 大学网站建设的目标技术支持 优府网络太原网站建设
  • wordpress设置密码访问带提示广州做网站优化哪家专业
  • 如何帮人做网站赚钱西安室内设计公司排名
  • 房产网站建设产品网站域名和邮箱域名
  • 网站建设核心优势seo求职信息
  • 网站手册自己在百度上可以做网站吗
  • 影楼网站源码建行业网站的必要性
  • 深圳app网站设计软件开发公司税收优惠政策
  • 北京市中关村有哪家可以做网站维护客户管理系统 wordpress
  • 做网站拉客户有效吗全景图网页制作工具
  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站
  • 上海建设工程网站大同网站建设熊掌号
  • 设计类书籍网站江苏网站建设简介模板
  • 手机企业网站推广c 手机app开发
  • 网站建设需要多少天凡客建设网站稳定吗