一 : 海外国际机房遭遇的瓶颈问题,该何去何从?
海外国际机房遭遇的瓶颈问题,该何去何从?
近几年,各大IDC的国内业务遭遇巨头公司的冲击,业绩营收下滑成了普遍现象。亟需突破现状,IDC业务向国际市场发展,支撑日益增长的跨境业务,成为了众多IDC商的转型方向。
国际业务盛行的这几年,从业人员经常遇到的瓶颈是什么?
第一:国际机房部分客户遭遇攻击,机房只能封IP处理,或者下逐客令。有防御能力的海外机房,不是速度太慢,就是真实防御效果差。
第二:大陆到国际机房的出口拥堵,中间骨干路由故障,导致终端用户使用不顺畅。
第三:部分欧美国际线路机房,针对东南亚地区使用上,延时偏高,效率偏慢。
这几个问题一直存在,但真实有效的解决办法,市场上一直没有出现。
众所周知,哪里有需求,哪里就有市场。
针对这些IDC遇上的问题,厦门乐速云信息技术有限公司的产品经理如是说:
市场需求造就我们产品的诞生,公司全力针对性的研发:海外高防包、海外智能路由、跨境CDN三个产品,就可以让这些难题迎刃而解。
1、海外高防:存在的现象:
A、东南亚机房不带防御,或者防御级别低,一旦遭遇攻击,全机房瘫痪。遇上机房技术改进,可以在几分钟内屏蔽受害IP,不影响其他用户,但对于遭遇攻击的客户,只能等24小时甚至72小时,若二次攻击,为了大多数用户的网络质量,IDC商只能流失这一小众用户。
B、推荐客户使用海外高防,美国或者加拿大部分机房,防御攻击效果比东南亚好些,但速度上,让大多数用户无法忍受,终端用户会因此流失网站用户,也导致用户会弃用这一选项。
解决办法:利用系统的高度智能化、协议完善及线路优化,成功实现高速且高防的二合一强大后台,解决了海外IDC的一大痛点。
2、海外智能路由,目前现状:
A、机房的这个IP段早上表现不错,稳定且高速。下午就掉包且延时高。
B、机房的这个IP段反馈好,另一个IP段就投诉不断。
C、地区A机房表现好,地区B机房体验很差。
存在这种现象,多数情况下,因为国际出口拥堵导致的,亦或是中间的路由部分节点出故障。而这些问题,多数IDC无力解决,只能静待恢复。海外IDC商只能被客户挑来挑去,无法增加用户粘性。
解决办法:利用强大的监控平台及全球节点,实时观测用户终端到机房的所有的节点,遇上故障,马上调度到其他节点,从而保证的网络的稳定性及快速性。
3、跨境CDN,目前存在的隐患:
境外服务器上的网站,大陆访问出现延时,部分地区无法访问,地区之间速度不均等问题。
解决办法:利用全球布点,把网站内容分发到各个区域,让用户就近获取数据,并利用大数据,智能判断,提前预加载,实现短频快的响应速度。
从事海外IDC服务十年的新世纪数据中心表示:以上几个业内的瓶颈和痛点,确实是十几年的顽疾,乐速云的产品到来,即将掀起海外IDC的一个新的起点和服务高度。我们会保持长期稳定的健康合作协议,从而提高最终用户的满意度。
厦门乐速云信息技术有限公司 http://www.lesucdn.com
二 : 关于儿童英语启蒙“瓶颈”问题的思考
关于儿童英语启蒙“瓶颈”问题的思考
---------新浪少儿英语高端访谈“家长有话说”有感
海岚
前几天赶上马里兰大学春假,有点闲暇,看了《新浪少儿英语高端访谈:家长有话说》,很有感慨称,家长们所提出的孩子英语启蒙过程的“瓶颈”问题引起了我的深度思考,很感谢新浪少儿英语编辑的周密,专门总结了家长们的发言,让我在大洋彼岸都能听到家长们的想法。可以说这些家长的发言让我很震撼。我个人感觉家长的心声最说明问题,因为反应的就是孩子们,家长们所走过的历程和实际需要。三位家长的心声也惊醒了我,干脆我就从宏观角度分析一下当下中国儿童的英语启蒙“运动”。
为什么我说这是一场“运动”,因为我很惊叹当下新一代家长观念转变之迅速和参与度之广,由于庞大的教育体系没有对当下中国开放和强大对英语的实际需求做出反应,家长们就开始自救了。从其广度讲,我说这是一场运动,挺浩大的。还有中国儿童英语启蒙,没有正规的教育机构,比如北美有主流的幼教机构承担主体角色,教育家长进行补充。而我们中国的儿童英语启蒙,缺少主体角色的科学引导,所以我还说这是一场运动。这次高端访谈家长们所反映的问题,真的很概括当下中国儿童英语启蒙的现状。
虽然提出问题,为的是更长足健康的发展。总体而言,我还是非常乐观的,毕竟,传统的东西我们已经看到不足,越来越多的家长重视孩子的英文原版阅读,这些是中国儿童英语启蒙向前发展的物质基础,还有媒体的高度关注(新浪专门为少儿英语成立了1个频道)和高科技手段的辅助等优势,我就不多说了。
所谓“瓶颈”问题的出现,正如访谈中第二位家长所说的,她代表了一些起步很早,一路坚持下来的母亲,根据她的大概描述,我在这里节选一下,如果有误,请自己参看原文(链接在文章开始)。‘2岁半的只有我开始给他听看原版动画片、音频,所有接触到比较健康的东西就给他。大概到5岁半的时候我们选择了一家培训机构开始学习。到6岁半,大量给孩子原版阅读,这一年多对孩子提升非常高。现在孩子快8岁小学二年级------很多起步比较早的母亲,孩子英语比较好,到了7、8岁的时候都会面临1个瓶颈期的困惑------’这位家长解释了一下,瓶颈期是因为孩子的生长发育的变化,真的是这样吗?那为什么北美的孩子英语教育过程中没有瓶颈期的说法?
其实“瓶颈”问题的出现,也是当下中国儿童英语启蒙的缺失部分的1个表现,这里面有2个方面的主要原因:一是从横的角度看,儿童英语启蒙没有根植于儿童发展的土壤上;二从纵的角度看,没能和人的一生的第二语言习得(英语)整个过程相联系。整个启蒙过程缺少的是教育理论和教育方法的支撑。这样发展的结果就象这位家长说的,到了7,8岁,瓶颈了,该向何方走?
在这里我打个比方,如果我们到1个国家参观,发现人家建造了一座宏伟的建筑,于是下决心回到家乡也建一座这样的建筑。现场学,找资料,问人家,知道了人家这个高层建筑地基的有关信息,甚至买来了人家一样的建筑材料,请问我们能否建成这座建筑?我们很有信心也很努力,没问题,我看见了人家是怎么盖的,我们能照样盖出一两层,再往高了起会怎样,我不说你也会明白。为什么呢?因为我们不懂建筑学原理,在基础阶段钢筋骨架没有埋下,这是核心!是看不见的东西。所以当我们想通过学习西方的教育来改进我们的教育的时候,我们要的是沉下心来系统化科学化,学其所以然并结合中国实际,而不是把能看得见摸得着的东西拿过来就加以神话。我不认为这是1个科学的态度,更不认为这样就能建成你心仪的建筑。再来个比方,中国农民造飞机,飞机造出来了,真的很逼真呀,也许还能飞个几十米的,但短暂兴奋过后你就会明白,这架飞机只能是圆梦的,不能承载你随心所欲地飞向你的目标。明白了这个道理,就会明白瓶颈问题出现的原因了。我再从纵横视点来具体分析一下。
首先,从横的角度,儿童英语启蒙要根植于儿童发展的大树上,儿童英语启蒙只是儿童发展这棵大树上的1个分支,离开大树,这棵分支就没有生命力了。
比如,前一段时间我偶然在微博里看到一位年轻的父亲听朋友家的孩子都开始看啥啥英文动画片开始启蒙了,很纠结自己是不是也开始给孩子看了,自己家的宝贝还不到两岁。我赶紧评论,告诉他,切不可着急,美国儿科医学会研究证明,两岁前的孩子看电视,DVD之类的丝毫不会对孩子产生教育效果,相反,还影响孩子脑神经发育,对以后注意力的品质有不良影响。知道这个道理,家长自然就会自己权衡得与失了。
大家都明白在启蒙阶段孩子的兴趣很重要,但是孩子兴趣的坐标点在哪里?怎样寻找,怎样扩大深化,怎样使这些兴趣建立在一定的规律基础上并发展成为孩子知识结构的一部分,这些都涉及到儿童发展。脱离了这样的基本点,照葫芦画个瓢可以,但想种出来个葫芦就不行了。
根据二语习得原理,儿童英语启蒙阶段的有效输入是非常重要的,那么怎么样的输入才是有效的,才是对孩子有意义的,这也一定要和儿童发展相结合。中国当下儿童英语启蒙虽然借鉴了一些英语国家的做法,但最重要的一部分缺失了。在北美英语国家的儿童英语启蒙,有正规的教育机构和有资质的老师按照教育原则和教学方法来进行,在这个基础上,通过对家长的教育,争取在家庭环境下给予补充。明白了这点就明白了为啥我们的孩子启蒙到一定阶段就会出现“瓶颈”。孩子的生长发育的变化不是原因,如果是,为啥北美的孩子到这个年龄没有“瓶颈”的说法,因为人家一开始就遵循着一定的规律来进行的,是1步步按照科学方法走过来的。
顺带提一下有位家长提出的迪士尼英语的问题,这位家长提到‘孩子学习一定要快乐,迪士尼就是强调快乐,我觉得还是应该强调效果’;如果我们认为迪士尼英语效果不是那么如人意,这不是迪士尼英语的错儿,人家这个是英语国家给孩子娱乐的,孩子娱乐的前提是有1个正规的教育体系支撑。没有这样1种考虑,让迪士尼来承载1个正规教育的功能,怎么能有我们所期望的效果呢?这个和前面我说的是1个道理,当我们风风火火进行儿童英语启蒙的时候,对比一下北美国家,中国儿童的英语启蒙是在没有正规教育机构承载的前提下进行的,家庭启蒙承载了一切功能,在这样的条件下,家长懂得教育原则和教学方法就显得尤为重要了,否则,骨架部分缺失了,虽然在进行过程中我们看到的是孩子不再走我们的老路了,看到了我们梦寐以求的孩子的进步,但短暂的几年的兴奋过后,面临瓶颈的时候,还认为是孩子生长发育的原因,就有些遗憾了。
这就是我要说的第二个视点,要从第二语言习得的整个过程来看待儿童英语启蒙,在这个阶段搭好骨架,做好承接。而这种承接不是要盖3楼了再去修补地基的,是要在地基阶段,在每个绘本的阅读中不同侧重的点点滴滴日积月累来的,以绘本为其中1种载体再加上多种教育手段方法,做好孩子听说读写能力的全面培养。
我原来也认为中国家长学些北美教育家长辅导阅读的技巧,对孩子进行原版阅读,加上些听啥的就行了,毕竟不是专业。这次访谈家长所反映的瓶颈问题引起我思考的结果,就是使我认识到这样真的不行呀,因为中国儿童英语启蒙是家长自救的形式,没有正规教育机构承载为前提,看不到这样的主要区别,就找不到我们儿童英语启蒙缺失的部分,也就不能找到瓶颈出现的真正原因。其中还有家长说,孩子英语启蒙搭钱是事儿小,是孩子的时机搭不起。细想也真的很有道理,所以对家长进行专业培训也应该是中国儿童英语启蒙的1大特色了。如果能对幼儿园老师,小学老师,绘本馆辅导员进行培训就非常理想了。这样才能有助于中国儿童英语启蒙走向正轨。我相信如果越来越多的家长认识到这个问题,有这样的需求,市场会做出反应,但我强调一点,一定要真正的专业,有系统有实践。打着美国还是其它发达国家的旗的一知半解的还真伤不起呀。
儿童英语启蒙还有个误区就是把儿童英语启蒙误认为是小学英语教育的提前化,这点连我们权威的教育部门都搞不清楚。如果搞清楚了,就不会有什么教委发文禁止幼儿园“教”语数外了。我还偶然在微博里看到有儿童英语培训机构的掌舵人在她的专家解答栏目里对儿童英语原版阅读打个问好,强调他们机构的英文分级阅读资源,其实这就是不同阶段的不同要求罢了,根本就不矛盾。
访谈中第三位家长还谈了关于学科英语的问题,‘谈学科英语或者用英语教其他知识,孩子停止上课自己没有能力往前去学的------从那个趋势转变成又是强调口语,又是强调高科技的东西,这也是维持孩子来上课的兴趣,并不是1个学英语的兴趣,一旦停止这个课,孩子自己没有要求我自己去看看书、自己读书或者自己主动再去应用英语,维持孩子来上课的兴趣,而且没有系统性,即使老师教孩子听,问孩子会用吗?仍然不会用。’
我很钦佩这位家长的见地,我还要补充一点,这里缺失的不仅仅是孩子学英语的兴趣,而是1种能力的培养,1种思维方式的培养和知识结构的构建,这种能力,不是“教”出来的,是培养出来的,是在每个教学过程中一点点培养出来的,是通过科学的课程设置贯穿始终为孩子能力向这方面发展提供1个积极可持续性发展的平台。这也是中国和西方教育主要区别之一。
还有位家长直指我们教育方法的问题,不要孩子有童年噩梦,没错儿!从被学习挤压的童年走出来,我们都理解1个快乐的童年意味着什么。那是不是孩子就傻玩儿瞎淘就行了。还孩子1个快乐的童年!耶!听起来就让人快乐。我在加拿大听到最多的中国同胞对我工作的评语是:多好的工作,整天领孩子玩就行了!我只能一笑置之,因为他们看到的都是孩子在玩儿,看不到的是这玩儿的后面要的是怎样的功夫?几句话说不清楚。我就只好这样被“冤枉”着。儿童英语启蒙也有这样的情况,原版阅读过程要构建什么?蹦蹦跳跳的后面是什么?所以快乐的教育方法是建立在精密询证的原理之上的快乐,可千万别以为学了人家的几个招牌动作,你就是明星了。
最后再次强调,和北美孩子的儿童英语启蒙相比,我们除了在整体英文环境上有点欠缺。更重要的是,中国儿童英语启蒙,孩子没有北美国家正规的教育系统所包括的丰厚资源(这个可以通过深挖资源来弥补);专业资质的教育工作者能提供的规律系统引导。中国当下的儿童英语启蒙是家长的自救行为,缺少系统性,缺少教育原理基础上的教育方法指导下的骨架搭建的核心部分,虽然繁华,但是堆砌的,不能为下个阶段搭下骨架部分。就这样的现实,我认为中国家长,既然已经出发了,索性就学一些教育原则和方法。我也为我提出了这样1个课题,有这样配合的中国家长,我怎样能以通俗易懂的形式把这个骨架带给大家?暂且先一句话来结束这篇博文:我很理解家长的让孩子摆脱童年噩梦的心愿,那么怎样在快乐中实现教育目标?儿童英语启蒙你要如何进行?
(再啰唆点题外的话,海岚我非常钦佩那些家长。在他们身上,我看到当年老爸老妈年年岁岁,日日时时对我的支持:天还没亮,老妈就起床给我准备一天的饭,老爸甚至把我自行车都摆到直骑学校的方向。虽然我老爸老妈没有象他们那样从学习本身上引导过我,但心思都是一样的,就是我们中华民族特有的重视子女教育的优良传统,这一点尤其是在北美有和各个族裔的家长打交道的经历后让我回过头来发自内心的感叹:中国的家长是最棒的,有这么好的家长配合,不搞好教育都对不起这些家长。这是心里话,不是客套,我的经历让我意识到这些超级投入的家长对于1个老师来讲,有多么宝贵的价值。没有一定经历以前的我还真不懂得真正珍惜这一点。)
三 : 网站推广的三大瓶颈问题
电子商务蓬勃发展,如日中天,迄今为止,已有无数草根跻身于站长行列,并且雄心勃勃,要在这虚拟世界里分得一杯羹。然而,能真正如愿的站长如凤毛麟角,绝大多数站长都在壮志难酬的悲壮声中倒下。到底是什么原因呢?从我多年做让利宝返利网的经验来分析,大多数站长都是死在了网站推广上,说得更具体一点,就是被网站推广的三大瓶颈问题给卡死的,具体分析如下。
一、热情与效果不成比例,感觉希望很渺茫。凡是做过站长的都会有此感受。做站之初,情绪高昂,好像不是做站,而是做钱,美好的明天在招手,大把的金钱正向自己飘来。因此信心十足,精神百倍。买域名、找空间、备案等各种复杂的问题一点也不觉得繁琐。写原创、搞推广常常彻夜不眠,那真是睡得比狗晚,起得比鸡早,而且无怨无悔。因为心里有着美好的未来。可一旦过了这个亢奋期,再回过头一看,网站流量没上来,引擎收录不起眼,收益更是少的可怜。和自己原先的梦想相差甚远,于是热情一落千丈,文章也不写了,推广也不搞了,导致刚有起色的网站胎死腹中。可以说很多草根站长就没过了这第一关。这正是做站的大忌。要想在网络世界里遨游,光靠热情还远远不够,必须有矢志不移的执行力。我们还不能把它作为赚钱工具,要把做站当做自己的一个爱好、工作,甚至是事业来做,抱着一颗平常之心和打持久战的决心,加上持之以恒的执行力才能立于不败之地。
二、利欲熏心,投机取巧,过度优化。有个比喻说得好,有人说现在的网站就好像人体的新陈代谢那样快,这个比喻真得很形象。每一天都有无数个新网站诞生,又有数不尽的老站寿终正寝。不过说句不客气的话,有很大一部分网站都是咎由自取,不值得人们去同情。
有很大一部分站长,建站之初就目标明确,为钱而来,终日寻求赚钱捷径,没有什么目标计划。道听途说的了解了一些网站快速优化的方法,就如获至宝。于是乎这插件,那助理,还有什么发帖机器人等等等都一起上阵,不但自己轻松自在,效果有时还真的很明显。可但凡有一点经验的站长都会知道后果的严重性,无异于饮鸩止渴。被K是其必然结果。可越是这样的站长,意志力越薄弱,经不起打击,一旦网站被K,便如没头的苍蝇,捶胸顿足,一阵哀怨,然后就偃旗收兵。像这样夭亡的网站毫不足惜,不仅如此,还为电子商务的良心发展清楚了垃圾。
三、技术资本严重不足,导致后天营养不良。电子商务发展时至今天,可以说以相当完善了。可是,由于网站介入的低门槛效应,致使很多毫无作站技术的草根也都成了站长。他们随便花几个钱,便有人连域名带程序、空间、模板等一应俱全的给办妥了。简单得很,可等他们真真开始操作了就傻眼了,什么代码、301、401跳转、伪静态呀?简直是一头雾水,就好像听天书一样,真成了张飞穿针了。可想而知,在这种人手里,网站怎能够良性发展,恐怕不死也难活成吧!
以上是我多年的建站实践的一点感悟,主要是想给准备加入站长序列的新朋友提个醒,认清形势,认清自我,客观分析,理性加入,避免落得个周瑜打黄盖的下场。本文来自让利宝返利网:http://www.ranglibao.com,A5首发,转载请不要去掉连接,多谢了!
四 : 瓶颈问题
? 博客园首页
监控 SQL Server 的运行状况--常用检测语句
作者:吉桂昕 来源:博客园 发布时间:2011-01-05 13:23 阅读:71 次 原文链接 [收藏]
Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。
常规服务器动态管理对象包括:
? dm_db_*:数据库和数据库对象
? dm_exec_*:执行用户代码和关联的连接
? dm_os_*:内存、锁定和时间安排
? dm_tran_*:事务和隔离
? dm_io_*:网络和磁盘的输入/输出
此部分介绍为监控 SQL Server 运行状况而针对这些动态管理视图和函数运行的一些常用查询。 示例查询
您可以运行以下查询来获取所有 DMV 和 DMF 名称:
SELECT * FROM sys.system_objects
WHERE name LIKE 'dm_%'
ORDER BY name
监控 CPU 瓶颈
CPU 瓶颈通常由以下原因引起:查询计划并非最优、配置不当、设计因素不良或硬件资源不足。下面的常用查询可帮助您确定导致 CPU 瓶颈的原因。
下面的查询使您能够深入了解当前缓存的哪些批处理或过程占用了大部分 CPU 资源。 SELECT TOP 50
SUM(qs.total_worker_time) AS total_cpu_time,
SUM(qs.execution_count) AS total_executio n_count,
COUNT(*) AS number_of_statements, qs.sql_handle
FROM sys.dm_exec_query_stats AS qs
GROUP BY qs.sql_handle
ORDER BY SUM(qs.total_worker_time) DESC
下面的查询显示缓存计划所占用的 CPU 总使用率(带 SQL 文本)。
SELECT
total_cpu_time,
total_execution_count,
number_of_statements,
s2.text
--(SELECT SUBSTRING(s2.text, statement_start_offset / 2, ((CASE WHEN statement_end_offset = -1 THEN
(LEN(CONVERT(NVARCHAR(MAX), s2.text)) * 2) ELSE
statement_end_offset END) - statement_start_offset) / 2) ) AS query_text
FROM
(SELECT TOP 50
SUM(qs.total_worker_time) AS total_cpu_time,
SUM(qs.execution_count) AS total_execution_count, COUNT(*) AS number_of_statements,
qs.sql_handle --,
--MIN(statement_start_offset) AS
statement_start_offset, --MAX(statement_end_offset) AS statement_end_offset FROM
sys.dm_exec_query_stats AS qs
GROUP BY qs.sql_handle
ORDER BY SUM(qs.total_worker_time) DESC) AS stats
CROSS APPLY sys.dm_exec_sql_text(stats.sql_handle) AS s2 下面的查询显示 CPU 平均占用率最高的前 50 个 SQL 语句。
SELECT TOP 50
total_worker_time/execution_count AS [Avg CPU Time],
(SELECT SUBSTRING(text,statement_start_offset/2,(CASE WHEN
statement_end_offset = -1 then LEN(CONVERT(nvarchar(max), text)) * 2 ELSE statement_end_offset end -statement_start_offset)/2) FROM sys.dm_exec_sql_text(sql_handle)) AS query_text, *
FROM sys.dm_exec_query_s【www.61k.comtats
ORDER BY [Avg CPU Time] DESC
下面显示用于找出过多编译/重新编译的 DMV 查询。
select * from sys.dm_exec_query_optimizer_info
where
counter = 'optimizations'
or counter = 'elapsed time'
下面的示例查询显示已重新编译的前 25 个存储过程。plan_generation_num 指示该查询已重新编译的次数。
select top 25
sql_text.text,
sql_handle,
plan_generation_num,
execution_count,
dbid,
objectid
from sys.dm_exec_query_stats a
cross apply sys.dm_exec_sql_text(sql_handle) as sql_text where plan_generation_num > 1
order by plan_generation_num desc
效率较低的查询计划可能增大 CPU 占用率。
下面的查询显示哪个查询占用了最多的 CPU 累计使用率。 SELECT
highest_cpu_queries.plan_handle,
highest_cpu_queries.total_worker_time,
q.dbid,
q.objectid,
q.number,
q.encrypted,
q.[text]
from
(select top 50
qs.plan_handle,
qs.total_worker_time
from
sys.dm_exec_query_stats qs
order by qs.total_worker_time desc) as highest_cpu_queries cross apply sys.dm_exec_sql_text(plan_handle) as q order by highest_cpu_queries.total_worker_time desc
下面的查询显示一些可能占用大量 CPU 使用率的运算符(例如 ‘%Hash Match%’、‘%Sort%’)以找出可疑对象。
select *
from
sys.dm_exec_cached_plans
cross apply sys.dm_exec_query_plan(plan_handle)
where
cast(query_plan as nvarchar(max)) like '%Sort%' or cast(query_plan as nvarchar(max)) like '%Hash Match%' 如果已检测到效率低下并导致 CPU 占用率较高的查询计划,请对该查询中涉及的表运行 UPDATE STATISTICS 以查看该问题是否仍然存在。然后,收集相关数据并将此问题报告给
PerformancePoint 规划支持人员。
如果您的系统存在过多的编译和重新编译,可能会导致系统出现与 CPU 相关的性能问题。 您可以运行下面的 DMV 查询来找出过多的编译/重新编译。
select * from sys.dm_exec_query_optimizer_info
where
counter = 'optimizations'
or counter = 'elapsed time'
下面的示例查询显示已重新编译的前 25 个存储过程。plan_generatio n_num 指示该查询已重新编译的次数。
select top 25
sql_text.text,
sql_handle,
plan_generation_num,
execution_count,
dbid,
objectid
from sys.dm_exec_query_stats a
cross apply sys.dm_exec_sql_text(sql_handle) as sql_text where plan_generation_num > 1
order by plan_generation_num desc
如果已检测到过多的编译或重新编译,请尽可能多地收集相关数据并将其报告给规划支持人员。 内存瓶颈
开始内存压力检测和调查之前,请确保已启用 SQL Server 中的高级选项。请先对 master 数据库运行以下查询以启用此选项。
sp_configure 'show advanced options'
go
sp_configure 'show advanced options', 1
go
reconfigure
go
首先运行以下查询以检查内存相关配置选项。 sp_configure 'awe_enabled'
go
sp_configure 'min server memory'
go
sp_config ure 'max server memory'
go
sp_configure 'min memory per query'
go
sp_configure 'query wait'
go
运行下面的 DMV 查询以查看 CPU、计划程序内存和缓冲池信息。
select
cpu_count,
hyperthread_ratio,
scheduler_count,
physical_memory_in_bytes / 1024 / 1024 as physical_memory_mb, virtual_memory_in_bytes / 1024 / 1024 as virtual_memory_mb, bpool_committed * 8 / 1024 as bpool_committed_mb,
bpool_commit_target * 8 / 1024 as bpool_target_mb,
bpool_visible * 8 / 1024 as bpool_visible_mb
from sys.dm_os_sys_info
I/O 瓶颈
检查闩锁等待统计信息以确定 I/O 瓶颈。运行下面的 DMV 查询以查找 I/O 闩锁等待统计信息。 select wait_type, waiting_tasks_count, wait_time_ms,
signal_wait_time_ms, wait_time_ms / waiting_tasks_count from sys.dm_os_wait_stats
where wait_type like 'PAGEIOLATCH%' and waiting_tasks_count > 0 order by wait_type
如果 waiting_task_counts 和 wait_time_ms 与正常情况相比有显著变化,则可以确定存在 I/O 问题。获取 SQL Server 平稳运行时性能计数器和主要 DMV 查询输出的基线非常重要。 这些 wait_types 可以指示您的 I/O 子系统是否遇到瓶颈。
使用以下 DMV 查询来查找当前挂起的 I/O 请求。请定期执行此查询以检查 I/O 子系统的运行状况,并隔离 I/O 瓶颈中涉及的物理磁盘。 select
database_id,
file_id,
io_stall,
io_pending_ms_ticks,
scheduler_address
from sys.dm_io_virtual_file_stats(NULL, NULL)t1,
sys.dm_io_pending_io_requests as t2
where t1.file_handle = t2.io_handle
在正常情况下,该查询通常不返回任何内容。如果此查询返回一些行,则需要进一步调查。 您还可以执行下面的 DMV 查询以查找 I/O 相关查询。 select top 5 (total_logical_reads/execution_count) as
avg_logical_reads,
(total_logical_writes/execution_count) as avg_logical_writes,
(total_physical_reads/execution_count) as
avg_physical_reads,
Execution_count, statement_start_offset, p.query_plan, q.text
from sys.dm_exec_query_stats
cross apply sys.dm_exec_query_plan(plan_handle) p cross apply sys.dm_exec_sql_text(plan_handle) as q order by (total_logical_reads +
total_logical_writes)/execution_count Desc
下面的 DMV 查询可用于查找哪些批处理/请求生成的 I/O 最多。如下所示的 DMV 查询可用于查找可生成最多 I/O 的前五个请求。调整这些查询将提高系统-http://www.61k.com-性能。
select top 5
(total_logical_reads/execution_count) as avg_logical_reads, (total_logical_writes/execution_count) as
avg_logical_writes,
(total_physical_reads/execution_count) as avg_phys_reads, Execution_count,
statement_start_offset as stmt_start_offset,
sql_handle,
plan_handle
from sys.dm_exec_query_stats
order by (total_logical_reads + total_logical_writes) Desc 阻塞
运行下面的查询可确定阻塞的会话。
select blocking_session_id, wait_duration_ms, session_id from sys.dm_os_waiting_tasks
where blocking_session_id is not null
使用此调用可找出 blocking_session_id 所返回的 SQL。例如,如果 blocking_session_id 是 87,则运行此查询可获得相应的 SQL。
dbcc INPUTBUFFER(87)
下面的查询显示 SQL 等待分析和前 10 个等待的资源。 select top 10 *
from sys.dm_os_wait_stats
--where wait_type not in
('CLR_SEMAPHORE','LAZYWRITER_SLEEP','RESOURCE_QUEUE','SLEEP_TASK','SLEEP_SYSTEMTASK','WAITFOR')
order by wait_time_ms desc
若要找出哪个 spid 正在阻塞另一个 spid,可在数据库中创建以下存储过程,然后执行该存储过程。此存储过程会报告此阻塞情况。键入 sp_who 可找出 @spid;@spid 是可选参数。 create proc dbo.sp_block (@spid bigint=NULL)
as
select
t1.resource_type,
'database'=db_name(resource_database_id),
'blk object' = t1.resource_associate d_entity_id,
t1.request_mode,
t1.request_session_id,
t2.blocking_session_id
from
sys.dm_tran_locks as t1,
sys.dm_os_waiting_tasks as t2
where
t1.lock_owner_address = t2.resource_address and
t1.request_session_id = isnull(@spid,t1.request_session_id) 以下是使用此存储过程的示例。
exec sp_block
exec sp_block @spid = 7 》点击查看原文...
程序员找工作,就在博客园
本文标题:瓶颈问题-海外国际机房遭遇的瓶颈问题,该何去何从?61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1