博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sql server analysis service 通过IIS连接时的最大连接数问题
阅读量:7021 次
发布时间:2019-06-28

本文共 922 字,大约阅读时间需要 3 分钟。

做过SSAS项目的大部分人都应该知道SSAS是可以通过在IIS上建立代理站点的方式来建立远程连接的,这样可以绕过连接到SSAS时需要在同一个域环境下通过域用户来验证的问题,这样即使连接到SSAS的客户端应用程序和SSAS服务器不在同一个域下,客户端也可以通过匿名方式连接到SSAS服务器访问多维数据集。但是最近我在开发中遇到一个问题,我开发的客户端应用程序用Adomd.net通过IIS访问SSAS的时候老是报超时错误,错误如下:

 

开始我一直以为是AdomdConnection或AdomdCommand的timeout时间设置太短了,所以把timeout的时间改长了,但是发现程序还是报上面的超时异常。最后通过查找原因发现这其实和超时没有什么关系,真正原因是:通过IIS代理连接到SSAS时每个客户端的最大连接数默认是4个,如果你开发的客户端程序在同一时间内通过AdomdConnection连接到IIS的连接数超过了4个,那么就会报上面这个异常。而这个最大连接数的设置实际上是可以通过放在IIS代理站点下的msmdpump.ini文件来修改的。

 

用记事本打开msmdpump.ini文件,将<MaxThreadsPerClient>这个XML节点加入到该文件中(msmdpump.ini文件中默认是没有这个XML节点的,不懂的人根本不知道还有这个设置,真是坑啊。。。)并设置值为一个较大的值,这里我设置成了10000,就表示一个客户端的应用程序可以同时启动10000个连接通过IIS代理访问SSAS(如果客户端程序是ASP.NET应用程序,那就是指ASP.NET所在的进程<一般来说也是一个IIS进程>,可以同时向SSAS服务器端的IIS代理申请10000个连接来访问SSAS)。

 

这里我将msmdpump.ini的所有配置节点及其默认值都在下面列出来,方便查阅:

localhost
3600
100
0
0
4

 

转载地址:http://dvbxl.baihongyu.com/

你可能感兴趣的文章
【Spark Summit East 2017】使用Spark, Kafka和Elastic Search的大规模预测
查看>>
机器学习——决策树算法原理及案例
查看>>
关注上帝的所想所爱,创造无限财富
查看>>
Cocos2d-x3.2 Sprite精灵类的创建与设置
查看>>
Starting MySQL.Manager of pid-file quit without updating file.[FAILED]
查看>>
phalapi-进阶篇7(使用缓存以及用redis拓展解决实际问题)
查看>>
深入浅出PostgreSQL B-Tree索引结构
查看>>
读代码整洁之道
查看>>
Git@OSC代码托管(含Git教程!important非命令行)
查看>>
PostgreSQL 如何高效解决 按任意字段分词检索的问题 - case 1
查看>>
从零开始学_JavaScript_系列(18)——dojo(7)(dojo中类的继承)
查看>>
图像处理------基于像素的皮肤检测技术
查看>>
Java8 Foreach操作
查看>>
【原创】日志输出到串口设备导致的问题
查看>>
Weblogic BEA-141281 unable to get file lock, will retry 故障处理
查看>>
Dos和Linux常用命令对比
查看>>
iOS开发实用技巧—项目新特性页面的处理
查看>>
activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示
查看>>
[翻译] ABCIntroView
查看>>
数据的存储介质-固态存储SSD
查看>>