Larry Yang

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2012年3月10日

摘要: (作者原创,转载请注明出处)通常遇到性能问题,只要能定位到出问题的代码,或者sql。基本上问题就解决掉80%了,毕竟各种性能问题的解决方案都很成熟了,网上搜索下,遍地都是。而对于新手来说,通常最重要的是,如何定位到出问题的代码段。请看下面的伪代码例子(用C#语法):PerformanceIssueFunction(){ List<int> idList = GetList(); foreach (var id in idList) { var box = GetBoxById(id); DoSecondThing(box); }}我们假设确定上面的函数Performance... 阅读全文
posted @ 2012-03-10 12:24 Larry Yang 阅读(349) 评论(0) 推荐(0)

摘要: (原创,转载请注明)最近我负责的物流网站接连遇到性能方面的问题,经过各种努力,总算解决掉了大部分的性能问题。想了想应该做一下阶段性的小结。在最近遇到的性能问题中,我发现主要有这样三类问题:1. 非必要查询太多。例子:我们有一个循环总是很慢,后来定位到一个查询用户信息函数GetUserByName,这个函数消耗的时间明显要高于其他查询函数,每100次调用大概要花11秒钟。我去看了这个函数的实现方式,发现它不仅查询用户的基本信息,还要把用户的所有辅助信息从关联表中查询出来,这样一来就大大降低了查询效率。而且,这些辅助信息在循环中的根本不会被用到。解决方案:重新实现一个简单的GetUserForUp 阅读全文
posted @ 2012-03-10 09:52 Larry Yang 阅读(780) 评论(0) 推荐(1)