informix的性能优化(之一)

性能|优化

             informix的性能优化(一)

作者: CCBZZP
 
 

  以下是我用INFORMIX DATABASE的一點体會,分享給大家,歡迎大家一起探討!  

1. 日志緩沖
   如果不怕丟失几個事務則最好用緩沖日志,這樣可以得到更好的性能.
   如果數据安全性很重要,則最好用非緩沖日志.
2. DSS SERVER的优化有三個目標:
   1>. 總查詢通過量最大化
       可以將ONCONFIG文件中的PDQPRIORITY設置限制小于25%
   2>. 每個查詢處理時間最小化
       可以將ONCONFIG文件中的PDQPRIORITY設置限制大于50%
   3>. 平衡优先級
       可以將ONCONFIG文件中的PDQPRIORITY設置限制大于25%,小于50%
3. OLTP SERVER的优化有三個目標:
   1>. 更新活動通過量最大化
       使用緩沖日志
       將檢驗點間隔最大化,周期最小化
       可以將ONCONFIG文件中的PDQPRIORITY設置限制為0
       增加物理日志長度
       最大化寫入緩沖百分比
       其實以上的目標也是會矛盾的,關鍵在于如何取舍.
   2>. 查詢活動通過量最大化
       最大化BUFFERS
       可以將ONCONFIG文件中的PDQPRIORITY設置為0或1
       最大化讀取緩沖百分比
   3>. 事務安全最大化
       最小化CKPTINTVL
       使用非緩沖日志
       使用冗余磁盤和I/O路徑
       減少物理日志長度
4. 簡單查詢SERVER的优化有三個目標:
       最大化BUFFERS,它一般>=40%RAM
       可以將ONCONFIG文件中的PDQPRIORITY設置<25%
5. 內存問題
       INFORMIX可以使用的內存是不限制的,給多少用多少,下面以IDS7.X為例:
       緩沖區最多 768000 PAGES (OS 3GBW/4KB)
       DSS內存最多1G
       鎖最多8000000
       邏輯日志緩沖區 3個 LOGSIZE最大2G, TOTAL 6G
       物理日志緩沖區 2個 PHYSFILE最大2G, TOTAL 4G
       數据字典緩沖區 沒有限制,可以調整參數DD_HASHSIZE和  DD_HASHMAX
       onstat -g dic确定數据字典緩沖區是否接近容量
       存儲過程緩沖區 沒有限制,可以調整參數PC_HASHSIZE和PC_POOLSIZE
       onstat -g prc确定存儲過程緩沖區是否接近容量
       數据分布緩沖區 可以調整參數DS_HASHSIZE和DS_POOLSIZE
       onstat -g dsc确定數据分布緩沖區是否接近容量
6. 磁盤問題
       磁盤是越多越好的
       多些驅動器比大的驅動器好
       采取RAID磁盤陣列
7. 內核限制
       不同的OS有不同的內核,這是可以調整的.
8. 內存參數
       onstat -g seg确定共享內存分配和查詢內存分區
       SHMVIRTSIZE确保最低正常負荷內存,如果消息日志文件中表示動態新共享內存的消息很多,則要增加此參數的數值.
       SHMADD至少應為SHMVIRTSIZE的10%
       SHMTOTAL除非很小的系統,否則社為0讓內存增長.
9. 分塊表和大量區域
   用oncheck -pt 和 oncheck -pe檢查表的區域數及其在磁盤上的布局
   一般說表格超過33個區域系統比較慢,可以壓縮表格來解決
   1>. 刪除表格重建並重新裝入數据
   2>. 重新創建索引
   3>. 將表和索引放在不同的DBSPACE

   歡迎大家一起探討!  
  

   待續...
      

 

时间: 2024-10-31 16:06:52

informix的性能优化(之一)的相关文章

Mysql数据库性能优化一_Mysql

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能.这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库. mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升. Mysql数据库的优化技术 对mysql优化是

丰趣海淘:跨境电商平台的前端性能优化实践

原文出自[听云技术博客]:http://blog.tingyun.com/web/article/detail/586 随着互联网的发展,尤其是在2000年之后浏览器技术渐渐成熟,Web产品也越来越丰富,这时我们被浏览器窗口内的丰富"内容"所吸引,关注HTML/CSS,深入研究Dom.Bom和浏览器的渲染机制等,接触JavaScript库,"前端"这个职业,由此而生. 前端技术在这10多年中飞速发展,到了今天,我们可能发现"内容"的美在视觉上是有

如何确保无线局域网性能优化应

虽然很多无线局域网经理关注于解决问题和避免安全漏洞,但是无线局域网性能优化更注重于任务清单.这个方法不单单考虑不周全,而且忽视优化还是造成灾难的另一个因素.如果每个AP只需要支持十来个用户上网流量,一般的性能可能还是可以接受的,但是当AP接近最大容量而应用程序需求变得更高时,带宽消耗和瓶颈就会变得很严重. 为了实现无线局域网性能优化,网络经理和管理员必须使用新的无线局域网测量和测试工具,它们能够根据网络中运行的应用程序类型来检查网络性能.寻找这些工具会迫使网络管理员寻找目前的供应商以及测试方法之

性能优化总结(六):预加载、聚合SQL应用实例

   前面已经把原理都讲了一遍,这篇主要是给出一个应用的实例.该实例取自GIX4,比较复杂. 领域模型:     领域模型间的关系,如下: 右边模型链的具体关系在<第二篇>中已经描述过,不再赘述. 本次重点在于红线框住部分: Project:表示一个建设项目: ProjectPBS:一个项目下包含的很多PBS: PBSPropertyValue:一个PBS我们可以为它设置多个值,每一个值对应一个PBSType(模板)中已定义的属性,值的范围也是只能在属性中已定义的可选值中进行选择. 对应的UI

性能优化-位运算效率高还是位运算效率高?

问题描述 位运算效率高还是位运算效率高? 在<java程序性能优化>中写到,位运算是运算中最高效的,而我依照书上的代码运行了一遍 发现并不是这样. 补上代码: public class BitOperate { public static void main(String[] args) { nomal(); bit(); } private static void nomal() { long start =System.currentTimeMillis(); long a = 100;

面向程序员的数据库访问性能优化法则

面向程序员的数据库访问性能优化法则     http://blog.csdn.net/yzsind/archive/2010/12/06/6059209.aspx

jQuery性能优化指南

jQuery性能优化指南,可以从以下12个方向考虑. 1,总是从ID选择器开始继承 2,在class前使用tag(标签名) 3,将jQuery对象缓存起来(在多次使用是,用一个中间变量代替,而不是总是用选择器)   4,对直接的DOM操作进行限制 5,注意尽量减少事件冒泡 6,推迟到 $(window).load   7,压缩JavaScript 8,尽量使用ID代替Class. 9,给选择器一个上下文   10,慎用 .live()方法(应该说尽量不要使用) 11,子选择器和后代选择器   1

ASP.NET性能优化小结(ASP.NET&amp;amp;C#)

ASP.NET: 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果用动态的SQL语句来返回多个数据集,那用存储过程来替代动态的SQL语句会更好些.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不

asp.net小谈网站性能优化

当然,网站性能优化是多方面的,这里先谈一下这些天来的所获: 1.书写代码的习惯: 再复杂的逻辑,也是从最简单的开始.在书写代码的过程中,很多不好的规范都会影响网站的性能: 以下是整理出来的些许代码习惯: 1)字符串的比较 用 string.Empty 代替 " " 2)在遍历过程中,先定义好计数变量, 再遍历, 这样会减少每次遍历就分配一次内存空间: 复制代码 代码如下: int i; for( i=0; i<100;i++) { // codeing } 3)同样的,用 Str