SQL Server CLR 内存分配
目前我们有 MS SQL Server 2005(32 位)。 我们有 1 个程序集(并且只有 1 个程序集)用于加密和解密。 仅 512 MB 系统内存分配给 CLR。 程序集运行速度相当慢,我试图排除它是否来自内存。 当我在查询分析器(而不是程序集中)运行 SQL 代码时,它运行得很快。 我们使用对称密钥和证书进行加密/解密。
是否有推荐的内存量分配给 CLR? 如何判断内存分配不足是否会降低该程序集的性能?
Currently we have MS SQL Server 2005 (32 bit). We have 1 assembly (and only 1 assembly) which we use for encryption and decryption. Only 512 MB of system memory is allocated to CLR. The assembly runs pretty slow, and I'm trying to rule out if its from memory or not. When I run the SQL code in query analyzer (not in an assembly) it runs quick. We are using symmetric keys and certificates for encryption / decryption.
Is there a recommended amound of memory to allocate to CLR?
How can I tell if a lack of memory allocation is slowing down the performance of this assembly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您如何确定已分配 512MB?
看看我写的关于 SQL Server memToLeave 的文章。 您需要记住,用于执行 CLR 托管代码的内存部分驻留在 SQL Server 进程空间之外。
如果您有任何疑问,请告诉我您的进展情况。
SQL Server 内存配置,确定 MemToLeave 设置
How have you determined that 512MB has been assigned?
Take a look at the article I wrote on SQL Server memToLeave. You need to keep in mind that the portion of memory that is used to execute CLR managed code resides outside of the SQL Server Process space.
Let me know how you get on or if you have any further queries.
SQL Server Memory Configuration, Determining MemToLeave Settings