主页 > CDN > > 正文

CDN_阿里桌面云_便宜的

来源:胜利云 发布时间:2021-07-20 14:13 标签:阿里便宜桌面
浏览:

CDN_阿里桌面云_便宜的

我们正在进行一个漫长的项目,将大量ASE迁移到16.0.1.2(在16.0.1.2上停止,因为我们遇到了一个奇怪的错误,按列编号排序的联合行为不正常,没有人可以复制/解释)。

迁移我们的ASE之一,我们从字段中得到一个输入,转换过程在服务器上运行得慢得多新服务器比旧服务器上的要多。好吧,对于常规的80/20方法来说,这听起来像是一件意料之中的事情。并不是所有的东西都能顺利转换–一些DBA活动仍然是最终完成所必需的。

我已经开始调查–实际上非常幸运拥有ASEs的两个版本以及自己重新运行代码的可能性。DBA的天堂更准确的说,我决定不停止常规的展示计划,计划成本,时间/io统计信息,但要深入研究每个ASE上的完整查询度量和过程内存占用。我很快就陷入困境:基于所有度量,ASE16执行过程的速度比ASE15快。所有语句的sysquerymetrics对ASE16有更好的度量。优化器生成的计划要么完全相同,要么更好根据估计的IO.Field执行时间–ASE16运行速度慢了两倍。嗯

可爱的东西。此外,我还注意到了另一个相当令人讨厌的惊喜:在进程执行时跟踪monCachedProcedures中的MemUsageKB我注意到ASE15的内存占用在1MB以下,而对于ASE16来说,它会不断增长,甚至超过过程缓存的大小。如果幸运的话,进程执行最终会将内存释放回PC池。如果不是这样(例如,如果你开始"调试"进程执行,再加上写各种统计数据的时间),你最终会得到臭名昭著的701错误,然后进程内存被释放。

我确实从内存中回忆到,有时同一个优化器为同一个进程生成不同权重的计划。我在ASE 15.7中遇到了这种无法解释的情况:强制优化器重新生成计划(spèu重新编译…),然后事情就过去了。但我不记得有一个进程MemUsageKB不断增长当proc处于活动状态时(甚至在同一台ASE16服务器上,同一个proc有时也会正常运行——生成一个计划,uses与MemUsageKB保持固定在大约与ASE 15相同的值上)。

该过程有一个游标,可以将3个大表的150K行从一个数据库移到另一个数据库。没有什么太复杂的。使用不敏感/半敏感游标测试–相同的行为。使用在select上声明的游标直接测试100个字段和光标放在有1个字段的temp表上–同样的事情。我真的很困惑我的PC内存在哪里被浪费了。

试图挖掘MDAs:理论上,通过monSysStatement可以看到proc使用了多少内存:抓取proc PlanID,微信返利,中移物联网,跟踪每行的proc统计信息,每个语句。您应该能够看到哪些进程行很重—cpu/io/内存级别(顺便说一句,对于16.0.1.2等不敏感的游标,有一个KBA&CR来修复错误的LIO报告—但这可能与我的情况无关)。对于我的游标,我可能会看到每个循环消耗大约600KB的内存。同时,monCachedProcedures报告在每个循环后大约增加了60K(在整个循环中,车险返现,每个语句本身都有不同的内存占用)。是否可以在计划处于活动状态时保留一部分内存而不是释放内存?

基于monprocedurecachemoryUsage,与monCacheProcedures/monProcedureCache一起不断增长的分配是MEMC\u SCOMPILE\u 1(活动和偶尔的重用不断增加)。与monprocedurecachemoryUsage相同-过程对象。活动不断增长,偶尔会重复使用。活动页与monCachedProcedures报告的MemUsageKB大致相同。

有人知道是什么导致了这次泄漏吗?有人经历过同样的行为吗?

我很担心这一点。可能会危及整个升级项目。

我们将感谢您的见解。

干杯,

安德鲁

是的

我们在过程缓存和高内存编译方面遇到了很多问题

master..monProcedureCacheModuleUsage与master不匹配..monprocedurecachemoryuusage

[西蒙·奥格登有很好的建议在这方面]

最后我们通过

-仅为过程缓存分配一致大小的内存块来删除碎片(不确定为什么从内存区域分配不同大小的块是个好主意)-跟踪标志753

-将大量内存分配给过程缓存(移动到15.7)SP1x-我们将过程缓存增加了两倍)并增加了引擎本地缓存。

-每周重新启动sybase服务器或dbcc freeproccache

另请参阅

摆脱拐杖-正确大小的过程缓存

我们

感谢Mike,

753已经就绪。过程缓存相当大(6 GB)。在这种情况下,清理过程缓存可能不会帮助,因为它是由一个活动的进程保存的,一旦进程结束执行就释放出来。

我发现令人费解的是,在将所有代码从进程中剥离出来之后,在一个游标的空间内所做的任何选择都会加在进程缓存中该进程的memusage总数中。也就是说,在一个游标内执行的选择的每次迭代都会消耗一个内存额外的进程缓存块。游标的结果集越大,游标空间中的语句越多,消耗的内存就越多(这可能是对"正确大小的进程缓存"想法的间接回应)。

我将继续研究这个问题。听起来很奇怪。

>进程缓存相当大(6Gb)。

是6Gb?

我们以前有5Gb的过程缓存,但自从移动到15.7以后,我们现在有16Gb的过程缓存。

关于游标的使用很有趣-我会试试看这是否会影响。我们觉得这是跨所有并行运行的进程

的,但也许我需要做更多的分析-虽然我已经花了太多时间在这上面了。

给你一个简单的复制:

创建一个进程:

drop proc prc\u memusage\u check

go

create proc prc\u memusage\u check

as

begin

declare@id int,@cnt int,@rcnt int,大数据技术及数据分析培训,@dt日期时间,@mu int,@es int,@计划smallint

select@dt=getdate()

声明big\u cr cursor for

从sysprocedures中选择id

打开big\u cr

将big\u cr提取到@id中

select@rcnt=0

while@sqlstatus=0

begin

select@rcnt=@rcnt+1

select@cnt=count(*)from sysobjects where id=@id

select@cnt=count(*)from syscomments where id=@id

从syscolumns中选择@cnt=count(*),其中id=@id

从systabsats中选择@cnt=count(*),其中id=@id

从sysindexes中选择@cnt=count(*),其中id=@id

从sysindexes中选择@cnt=count(*),将big\u cr取到@id

结束

关闭big\u cr

释放光标big\u cr

选择@mu=sum(MemUsageKB),@plans=count(*)from master..monCachedProcedures其中ObjectName='prc\u memusage\u check'

select@es=datediff(不锈钢,@dt,getdate())

打印'ASE%1!:MemUsage=%2!,n平面=%3!,执行时间=%4!,已处理的行数=%5!',@@version\u number,@mu,@plans,@es,@rcnt

return 0

end

go

在ASE16.0.1.2(或其他?)上运行

ASE 16000:MemUsage=36640,NPlans=1,ExecTime(s)=24,Rows Processed=22736

在ASE 15.0.3(或其他?)上运行它

ASE15030:MemUsage=76,NPlans=1,ExecTime(s)=4,Rows Processed=26690

您可以清楚地看到占用的内存要高得多+执行时间要高得多。非常愚蠢的代码。

ASE16中的某些东西不能很好地处理过程。

那些有权访问16(15.7?)和早期的ASE版本-你能在你的环境中测试并发布回复吗?

谢谢

ps。看看大光标的区别:那完全是疯了!

ASE 16000:MemUsage=2137968,NPlans=1,ExecTime=3000,Rows Processed=1330791

ASE 15030:MemUsage=76,NPlans=1,ExecTime=121,Rows Processed=1087923

我很想知道这是从哪里来的!

pps。ASE16.0.1.3和ASE16.0.2.2上的行为相同…

以下是我的结果(以防运行两次)

Sybase 16在较慢的机器上运行

15.7/EBF24647 SMP SP134

ASE15700:MemUsage=164,NPlans=1,ExecTime=16,Rows Processed=135188

ASE15700:MemUsage=164,NPlans=1,ExecTime=15,处理的行数=135188

16.0 SP02 PL03 HF1/EBF 26230 SMP ONEOFF

ASE 16000:MemUsage=198,NPlans=1,ExecTime=184,处理的行数=124729

ASE 16000:MemUsage=198,NPlans=1,ExecTime=182,处理的行数=124729

内存使用率不高。

虽然我们不打算使用这个verison-我们正在等待下一个版本推出更多的错误修复。

谢谢Mike。这是Solaris ASE吗?我的ASEs运行在solaris10上(仍然)。

但是很奇怪,在您的情况下,ASE16的速度慢了10倍-虽然处理的行更少。

我明天将在Solaris上的Windows ASE+16.0.2.3上进行测试。

感谢您的测试努力。

所有在Linux上

我们的Sybase 15.7是在快速硬件上-我们通常不会看到10倍的速度

我们通常会看到3倍的速度。

我希望不是Sybase 16慢-但我们必须测试它。

我使用的是Ubuntu Linux x86_64。除了16.x的内存适度增加之外,我看不到您所说的问题:

ASE Adaptive Server Enterprise/15.0.3/EBF 19955 ESD#4.1/P/x86_64/Enterprise Linux/ase1503/2782/64位/FBO/Tue Jun 12 02:05:16 2012:

MemUsage=126,NPlans=1,ExecTime=20,已处理行=261375

ASE Adaptive Server Enterprise/15.7/EBF 21708 SMP SP110/P/x86\U 64/Enterprise Linux/ase157sp11x/3546/64位/FBO/Fri Nov 8 05:39:38

2013:MemUsage=126,NPlans=1,ExecTime=40,处理的行数=261375

ASE Adaptive Server Enterprise/16.0 SP02 PL01/EBF 25184 SMP/P/x86\U 64/Enterprise Linux/ase160sp02pl00/2424/64位/FBO/Thu Sep 17

22:46:42 2015:MemUsage=166,NPlans=1,ExecTime(s)=41,处理的行数=261375

也许我们需要比较配置文件,贵阳大数据,traceflags,等

我建议检查它是否与streamlined dynamic SQL有关,这是tha的特性之一

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 谷歌云_mysql中间件_免费领
    谷歌云_mysql中间件_免费领

    谷歌云_mysql中间件_免费领

    现在工作场所正在发生重大变化。我们协作、计划项目和管理工作量的方式正在改变,如果企业没有做好准备,它们将很快被抛在后面。准确地理解是什么...

  • 域名交易_阿里云翼_企业级
    域名交易_阿里云翼_企业级

    域名交易_阿里云翼_企业级

    通常认为搅动器是一个漏水的桶。你有多少顾客?你损失了多少?你留了多少钱,漏了多少钱?让我们把顾客流失看作是导致医生就诊的原因,比如偏头痛...

  • 金山云_华为云台_怎么申请
    <strong>金山云_华为云台_怎么申请</strong>

    金山云_华为云台_怎么申请

    在我们发布通知(以前是Engage)后的四个月里,我们在后端做了大量的改进。大多数更新在UI中不可见。相反,我们的客户可能已经注意到他们发送的电子...

  • 云主机_深圳企业网站设计_评分榜
    <strong>云主机_深圳企业网站设计_评分榜</strong>

    云主机_深圳企业网站设计_评分榜

    更新:有本文的更新版本。阅读"RPA如何转换数据迁移"(2019年出版)。 在本文中,数据迁移被定义为将数据从旧的遗留系统移动到新的替换系统。通常,...

  • 域名备案_已备案未注册的域名_最新活动
    <strong>域名备案_已备案未注册的域名_最新活动</strong>

    域名备案_已备案未注册的域名_最新活动

    今天是Skype推出十年来的日子,Skype是一款免费的互联网通话应用,用户已超过3亿。Skype是一家来自爱沙尼亚的初创公司,来自点对点文件共享应用Kazaa的开...

云储存

更多 >
  • <strong>亚马逊云_阿里云点播_优惠</strong>
    亚马逊云_阿里云点播_优惠

    简介: 我看到在HANA中建立连接后创建虚拟表有冗余的工作。因此,这里有一个工具,您可以在您的模式中创建它来快速创建表。 我的场景: 我有一个场景...

  • <strong>微软云_云服务器商家_免费申请</strong>
    微软云_云服务器商家_免费申请

    上周在维也纳举行的BI2016会议上,我鼓励在座的各位来到SCN。我承诺我会写一个关于评论的博客,给我一个很好的理由来这里加入社区。如何在应用程序中...

云储存网站服务器_node中间件_0元
云储存网站服务器_一级域名注册商_学生机
云储存服务器_阿里云矢量库_促销
云储存网站建设_数据库排名_便宜的
云储存分布式数据库_金山网站建设_免费6个月