楼主: wangzhonnew

[精华] 一个由于应用程序逻辑设计的失误导致的性能问题

[复制链接]
招聘 : Linux运维
论坛徽章:
235
紫蜘蛛
日期:2007-09-26 17:05:46玉兔
日期:2007-09-26 17:05:05现任管理团队成员
日期:2011-05-07 01:45:08玉兔
日期:2006-08-29 20:38:48紫蜘蛛
日期:2007-09-26 17:05:34阿斯顿马丁
日期:2013-11-19 10:38:16奔驰
日期:2013-10-16 09:08:58红旗
日期:2014-01-09 11:57:39路虎
日期:2013-08-13 14:52:35林肯
日期:2015-05-19 13:01:16
11#
发表于 2008-10-25 11:49 | 只看该作者
why not blob?

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
12#
 楼主| 发表于 2008-10-25 12:27 | 只看该作者
因为是varchar呀,blob是存binary得,clob是char得……

另一个思路,设置一个足够大的dedicate buffer,把这个表单独放到一个表空间,用这个bufferpool使得所有数据常驻内存,这种思路有什么优点和缺点呢?^_^

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:牛
日期:2009-02-17 13:26:03祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:19:09
13#
发表于 2008-10-25 21:09 | 只看该作者
学习中。。。
clob对比varchar有何有缺点?
说说第二种方法:优点就是这个表的数据常驻内存了,存取这个表肯定是快了很多。
缺点是不好估算到底建立多大的bufferpool合适?pagesize?另外还有可能需要调整
LSN?再或瓶颈也许又会出现在和它相连的其他表上面。

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
14#
 楼主| 发表于 2008-10-25 23:25 | 只看该作者
CLOB没有prefetch,所有的读写都是direct I/O,会对性能造成负面影响

上面说的挺对,单独的bufferpool对产品今后的发展不利。当数据越来越多的时候不可能无限地增大bufferpool。
为什么楼上的认为需要调整pagesize和LSN?不大理解,能不能解释一下?

另外一个可能性,在插入数据得时候直接插入15000个空白字符,这样会产生什么影响呢?

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:牛
日期:2009-02-17 13:26:03祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:19:09
15#
发表于 2008-10-26 21:28 | 只看该作者
不一定非得调整,只是一种考虑。
关于pagesize有好几种,总的选一个吧,一般是选4K,也有用用8K,16K大小的。
关于LSN其实是涉及到页清除方面的考虑,还有参数chngpgs_thresh 需要配合考虑,因为如果缓冲池比较大,而chngpgs_thresh和LSN都比较大,那么产生页清除时,一次性写入磁盘的数据可能会很多,同样会对IO造成加大压力,当然如果采用了主动的页清除则除外。

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
16#
 楼主| 发表于 2008-10-26 22:05 | 只看该作者
既然有了2个15000得varchar,已经可以肯定最少需要32k得pagesize拉

当前问题的瓶颈在于overflow,如果把表分成两个则需要double logging i/o,俺同意一般来说page cleaning是一个需要考虑的因素,但是在这个问题中,感觉好像并没有什么直接的联系吧。还是俺没有理解你的意思?

使用道具 举报

回复
论坛徽章:
5
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:马
日期:2009-09-10 11:26:192010新春纪念徽章
日期:2010-03-01 11:20:08ITPUB9周年纪念徽章
日期:2010-10-08 09:32:262011新春纪念徽章
日期:2011-02-18 11:43:34
17#
发表于 2008-10-27 09:30 | 只看该作者
我觉得应用为什么要先插一条记录后再修改,为什么不一起插入?

使用道具 举报

回复
招聘 : c/c++研发
论坛徽章:
45
技术图书徽章
日期:2014-03-10 14:09:192012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-02-13 15:12:092012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15现任管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
18#
 楼主| 发表于 2008-10-27 10:18 | 只看该作者
改应用是一个思路,并且是客户在现实中将要做的。但是这个做法和其他的一些方案比起来要考虑的东西更多。
需要从这个应用的框架上修改,同时需要很多的planing/coding/testing,是一个很浩大的工程……

还有没有其他的比较有创意的思路呢?感觉这个case比较典型,能够有很多的方法从不同角度对性能造成正面或者负面的影响……

使用道具 举报

回复
论坛徽章:
233
天枰座
日期:2016-02-02 09:36:332012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41灰彻蛋
日期:2011-06-22 19:28:30现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-04-08 16:56:552011新春纪念徽章
日期:2011-02-18 11:43:332011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
19#
发表于 2008-10-27 10:58 | 只看该作者
why not try altering PCTFREE of the table?

缺点是,浪费存储

使用道具 举报

回复
论坛徽章:
3
生肖徽章2007版:牛
日期:2009-02-17 13:26:03祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:19:09
20#
发表于 2008-10-27 10:59 | 只看该作者
为了解决overflow--〉增加一个bufferpool---->解决了overflow---->是否会带来其它问题?
多考虑一些还是没有坏处的,另外还要记的对应增加一个32K得临时表空间。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表