我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复348或者20190802可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!

通过SDK的方式连接CRM的组织服务,我这里使用的测试代码来自我前面的博文 一种提升连接Dynamics 365性能的方法 。从这些数据库中可以看出,第一次连接慢点外(接近5秒),其余几次都很快,不到1秒。

然后我再运行程序,在运行中回收下CRM对应的应用程序池 CRMAppPool,可以观察到数据如下:

可以看到应用程序池重启后的线程7,完成消耗了14秒,它之前的线程6消耗时间则为1秒,它之后的线程8消耗时间 9秒,线程9小时时间4秒,线程10开始恢复到正常消耗时间1秒。

根据 How to Find App Pool Recycles in Event Log 和 Recycling Settings for an Application Pool <recycling> 的说法,IIS 10 (对应的Windows Server版本是2016吧)则是记录了几乎所有的应用程序池的回收事件,若是较早版本的IIS,记录的回收事件比较少,只有Time, Memory, and PrivateMemory 三个。也可以开启。选择要开启的应用程序池,点击 高级设置 进行设置,如下图所示:

如果要查看IIS应用程序池回收,IIS重启等日志,打开 事件查看器 (可以直接使用命令 eventvwr 打开),导航到 Custom Views > Server Roles > Web Server (IIS) 即可查看到,据我观察,Source 为 WAS的记录的便是应用程序池回收事件。

当然也可以使用PowerShell命令来查看,比如如下的命令(注意这是英文版的搜索关键词,若是中文版请将 recycle 换成 回收)

Get-WinEvent -LogName System | Where-Object {$_.Message -like "*recycle*"}

如果是查看CRMAppPoole的回收,可以稍微改动下:

Get-WinEvent -LogName System | Where-Object {$_.Message -like "*recycle*CRMAppPool*"}

执行效果如下:

当然可以指定应用程序池的回收事件,选择应用程序池以后点击右边的 正在回收 进行设置,比如我这里设置为 凌晨2点回收,点击下一步保持不变后设置好。

那能提升下首次访问的性能,horse87 的文章 提高 SharePoint 页面访问速度之应用池预加载  将应用程序池高级设置中的 Start Mode 改成 AlwaysRunning .

还有将 IIS 站点高级设置中的 PreLoad Enabled 设置为 True。我测试了一下,对于首次SDK连接的效率提升并不是很明显,提升一两秒左右。

这里顺便提一下对IIS设置的一些建议,根据horse87 的文章 提高 SharePoint 页面访问速度之增加W3WP进程数及重置回收 ,如果IIS所在服务器内存和CPU使用不高的话,可以将CRM应用程序池的

Maxinum Worker Processes 设置为大于1的值,比如2,具体看影响。

Dynamics 365应用程序池回收对连接造成的影响。的更多相关文章

  1. Dynamics 365 Online-60000 API Limits

    最近,Dynamics 365官方文档有最新的发布,就是从2018.3.19开始,会对API请求的数目有个限制:在连续的5分钟里,一个连接用户,针对一个CRM Organization,API请求数不 ...

  2. 介绍Dynamics 365的OrgDBOrgSettings工具

    摘要: 微软动态CRM专家罗勇 ,回复320或者20190320可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 有时候会需要 ...

  3. Dynamics 365 CRM 开发架构简介

    Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式. 本文是对Dynamics 365 CRM编程模型的综述. 概览 下图表明了Dynamics 365 CRM的主要可编 ...

  4. 一种提升连接Dynamics 365性能的方法

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复256或者20170512可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  5. 为实施了IFD的Dynamics 365更换自签名的SSL证书以符合Chrome的要求

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复259或者20170704可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  6. Dynamics 365设置错误通知首选项的方法

    本人微信公众号:微软动态CRM专家罗勇 ,回复288或者20181205可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 使用 ...

  7. Dynamics 365 Portal Onpremise缓存问题

    最近被Dynamics 365 Portal的缓存问题折腾得不轻,Portal的配置进行缓存也就算了,连CRM中的记录也进行了长达15分钟到2小时的缓存,这是完全无法接受的 试想,我们有一个Porta ...

  8. IIS7 应用程序池回收

    原文:http://technet.microsoft.com/zh-cn/library/cc754494 应用到: Windows 7, Windows Server 2008, Windows ...

  9. IIS应用程序池回收图文详解

    转:http://blog.sina.com.cn/s/blog_8677fcaa010138uf.html 什么是应用程序池呢?这是微软的一个全新概念:应用程序池是将一个或多个应用程序链接到一个或多 ...

随机推荐

  1. 管网平差的python程序

    在市政给水管网当中,管网平差的目的是在已知节点流量.管段长度的情况下,求得各管段流量和对应的经济管径.本科生学习阶段了解并掌握管网平差原理及方法是必不可少的环节. 在下面的程序当中,将利用哈代克罗斯法 ...

  2. 富士通 DX90 S2存储分配映射盘

    屁话不多说,直接开操: 1.连接存储 用pc连接到存储管理口,如192.168.1.101 登录管理账号:默认root/root 创建Volume, 点击create开始创建新的volume 按需填写 ...

  3. 菜鸟刷面试题(四、Spring/Spring MVC/Spring Boot/Spring Cloud篇)

    目录: 为什么要使用 spring? 解释一下什么是 aop? 解释一下什么是 ioc? spring 有哪些主要模块? spring 常用的注入方式有哪些? spring 中的 bean 是线程安全 ...

  4. JavaScript 函数工具

    组 all:布尔全等判断 const all = (arr, fn = Boolean) => arr.every(fn); all([4, 2, 3], x => x > 1); ...

  5. jQuery 源码解析(二十五) DOM操作模块 html和text方法的区别

    html和text都可以获取和修改DOM节点里的内容,方法如下: html(value)     ;获取匹配元素集合中的一个元素的innerHTML内容,或者设置每个元素的innerHTML内容,   ...

  6. C#版本与.NET版本对应关系以及各版本的特性

    C#版本 .NET版本 发布日期 特性 C# 1.0 .NET Framework 1.0 2002-02-13 委托.事件 C# 1.1 .NET Framework 1.1 2003-04-24 ...

  7. WestWild: 1.1: Vulnhub Walkthorugh

    启动界面 主机层面扫描: ╰─ nmap -p1-65535 -sV -A 10.10.202.131 Starting Nmap 7.70 ( https://nmap.org ) at 2019- ...

  8. 【iOS】Swipe与Pan区别分析

    By definition, a swipe gesture is necessarily also a pan gesture -- both involve translational movem ...

  9. QT程序自启动

    故事背景:最近涉及到客户端更新自启动的一个问题,客户端检测到自己要更新,弹出一个更新界面,然后退出旧版本,启动新版本 技术调研:QProcess 直接上代码吧 qApp->quit(); QPr ...

  10. 使用shell脚本查看数据库负载情况

    原创 Oracle 作者:jeanron100 时间:2014-05-23 08:56:26  8912  2 平时在查看数据库的问题时,会有种迷茫的感觉,如果没有任何人反馈问题,基本上没有主动查找问 ...