ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 第二章

第二章

原创 Linux操作系统 作者:to_be_dba 时间:2012-12-11 09:35:55 0 删除 编辑

第2章 性能设计和开发

oracle方法论
性能问题通常是某种资源用光导致的,需要避免资源争用,减少停机时间。

理解投资成本
新的cpu、内存和更大的磁盘空间往往能够解决问题,但并非长远之计。有时还会失效。


程序应该尽可能的达到线性增长的目的,即系统性能随着数据量增长而线性衰减。
完全线性是不可能的,我们应该尽量使其线性变换。

以下问题会破坏性能的线性减弱:
(1)应用设计、执行、配置不合理
设计方面,如用户设计不合理、事务设计不合理导致锁和并行问题、连接管理设计差造成响应时间过长等
执行方面,如生产环境下i/o策略不合理、生产环境相对测试环境生成了更多执行计划、内存没有及时释放、硬件容量不对等


系统结构
包括软件结构和硬件结构
硬件主要是cpu、内存、i/o、网络四部分,一般是负责一项任务
软件一般都有多项任务,通常分为:管理用户界面、实现业务逻辑、管理用户请求和资源分配、管理数据和事务


系统需要提供给多少用户?
如果通常是一个人,不需要考虑并发冲突等问题,尽量提高响应时间
如果是可预知的用户数量,如某个公司,需要尽可能保证数据的可靠性,要考虑尽快释放连接
如果是网络环境,用户数不可预知,则要添加额外的机制确保系统组件不超过限额。

用户的交互方法是什么
用户在哪儿
网速多快
用户需要多少数据,多少是只读的
用户响应时间要求多少
需要24小时服务吗
是否允许异步执行
数据库多大


应用设计的原则
简单
数据建模

 

sql的执行效率
应该包括如下特点:
(1)良好的数据库链接管理
数据库连接是非常昂贵的,对于基于网络的应用,应该将数据库链接池保存,而不是为每个用户重建
(2)良好的游标使用和管理
解析是分析sql语句,生成执行计划的过程,有很多动作,如同义词检查、安全性检查、执行计划生成、将共享结构放入共享池等。分为两类:
硬解析:第一次执行,在共享池中找不到。很耗资源,需要执行解析的所有动作
软解析:共享池中有匹配的记录。但软解析也不是理想的,因为还需要句法检查和安全性检查。

解析应该越少越好


应用的执行
开发环境和语言的选择很大程度上影响应用。有以下规则:
(1)选择适合于软件的开发环境,不要让它限制了性能。
………………

经常使用的本地缓存内容有:
sysdate
当前用户名
税率、本地化信息等重复的应用变量
本地序列

缓存设计需要注意条件改变,如今天缓存的日期,到了第二天就变为不合法了

 

应用开发的趋势
当前应用开发中java替代c和c++,以及面向对象技术的发展影响了schema设计。
由于java是描述性语言,执行相似的逻辑时比C语言等汇编语言慢。随着客户端应用的普及,就需要更强大的CPU为客户端和中间件服务,更高效的编码。

关系型存储方式相对于面向对象的方式更加高效灵活。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26451536/viewspace-750877/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: sql tuning 第一章
下一篇: 第三章
请登录后发表评论 登录
全部评论

注册时间:2011-11-23

  • 博文量
    170
  • 访问量
    484897