IIS的ARR实现站点的负载均衡 nginx 对比
windows下使用IIS的ARR实现站点的负载均衡 - CSDN博客 https://blog.csdn.net/zzy7075/article/details/73294713
IIS的ARR实现站点的负载均衡 nginx 对比
1) 目的:
访问localhost:18066
对下边两个端口负载
localhost:18098
localhost:18099
2) 手段:
1.通过nginx
2.通过iis的ARR(Application Request Routing)
3) 使用IIS的ARR
步骤:
1.部署porxy站点端口18066,
用来做转发。
注意:
需要把对应的应用程序池的“idel time-out”设置为0。点击对应的程序池,然后点击高级配置,修改“闲置超时”(idel time out) 为0。
需要把回收时间调成0。点击对应的程序池,然后点击右边面板的“正在回收...”,按照下图修改,去掉固定时间间隔。
2.部署两个实际提供服务的站点
端口分别是18099和18098,按正常需要的配置
3.安装ARR,
地址(https://www.iis.net/learn/extensions/installing-application-request-routing-arr/install-application-request-routing-version-2)
这里下载的是ARR2.0的包,由于ARR3.0会把其他内容分开来打包,所以提供2.0的整体包,3.0的大家可以按需搜索使用
4.设置Server Farms
如下图,增加server时需要指定端口,点击 advanced settings展开更多选项,修改端口。注意:假如是重复的地址需要使用windwo\system32\drivers\ect\hosts中增加映射来避免重复。
如:
127.0.0.1 site1host
127.0.0.1 site2host
5.配置指定porxy端口使用对应的Server Farms。
(假如不指定则iis上所有正在的监听端口都会使用Server Farms导致错误)
点击IIS下的“Server Farms”然后选中我们新创建的farm,双击右边中窗体中的“Routing Rules”配置路由规则
进入路由规则设置后,按照下图选中第一个选项,使用URL Rewrite来实现请求的处理,然后点击右边的“URL Rewrite”地址重写来配置具体规则
修改规则,由于我们这边需求简单,只需要把所有请求都转发就可以,所以使用正则“^(.*)”匹配所有内容,(需要转发的内容匹配)
同时增加筛选条件(能够使用该Farms的规则),增加对端口({SERVER_PORT})的匹配,然后其他默认就可以
6.测试
访问http://localhost:18096/aaa.txt
配置了轮训的负载策略后就看到了两个服务器返回对应的内容了
4) 附录:
三种访问情况性能对比,使用工具 apache benchmark,
在同一服务器上使用iis的arr的性能跟直接访问站点接近
在同一服务器上同样的方式nginx(windows)的性能只有1/3左右
直接访问10898
,ab -n 10000 -c 3000 http://localhost:18098/天翼live工作.txt
Concurrency Level: 3000
Time taken for tests: 15.609 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 12730000 bytes HTML transferred: 10290000 bytes Requests per second: 640.66 [#/sec] (mean) Time per request: 4682.668 [ms] (mean) Time per request: 1.561 [ms] (mean, across all concurrent requests) Transfer rate: 796.45 [Kbytes/sec] received |
通过nginx访问18066
,ab -n 10000 -c 3000 http://localhost:18066/aaa.txt
Concurrency Level: 3000 Time taken for tests: 38.987 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 12685000 bytes HTML transferred: 10290000 bytes Requests per second: 256.49 [#/sec] (mean) Time per request: 11696.169 [ms] (mean) Time per request: 3.899 [ms] (mean, across all concurrent requests) Transfer rate: 317.74 [Kbytes/sec] received |
通过iis的ARR访问18096
, ab -n 10000 -c 3000 http://localhost:18096/aaa.txt
Concurrency Level: 3000 Time taken for tests: 15.560 seconds Complete requests: 10000 Failed requests: 0 Total transferred: 12969758 bytes HTML transferred: 10290000 bytes Requests per second: 642.68 [#/sec] (mean) Time per request: 4667.967 [ms] (mean) Time per request: 1.556 [ms] (mean, across all concurrent requests) Transfer rate: 814.00 [Kbytes/sec] received |
最新文章
- C++ 回调函数的定义与用法
- 解决Android SDK Content Loader 0%的问题
- socket 网络编程
- System.currentTimeMillis()计算方式与时间的单位转换
- 在centos6.5中安装scp和lrzsz
- JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能
- JLINK V8 Keil MDK4.10 STM32
- Node.js权威指南 (11) - 加密与压缩
- Centon6.5虚拟机桥接设置
- 对C# 构造函数的理解
- rsync实现数据增量备份
- ORA-01658: 无法为表空间 YJXT 中的段创建 INITIAL 区
- Java知多少(50)Java throws子句
- SQL Server 中BIT类型字段增删查改那点事
- 【代码笔记】iOS-播放从网络上下载的语音
- 关于Unity中新版动画系统的使用
- 浅谈Linux系统中如何查看进程
- var 是 Java 开发的好朋友啊!
- nginx配置tomcat集群
- 【IIS】IIS 7.0/7.5 无法启动 w3svc 服务
热门文章
- Codeforces 371B Fox Dividing Cheese(简单数论)
- BZOJ 4543 2016北京集训测试赛(二)Problem B: thr
- Display LOV (List Of Values) Using Show_Lov In Oracle Forms
- MySQL中批量删除指定前缀表的sql语句
- python的依赖性安全性检查
- Command terminated by signal 11
- nginx的优点
- remove-duplicates-from-sorted-array-ii——去除重复
- 苹果证书的申请、unityoc交互基础
- Centos7 安装 Maven 3.5.*