性能瓶颈之Source
数据源的瓶颈通常发生从数据库读取数据的时候,原因通常如下:
1) 脚本的查询效率低下
2) 数据库网络包太小
如何判定源瓶颈
通过在session log中读取thread statistics判定源的瓶颈
如果read thread花费的时间大大多于write thread和transformation thread,则可说明性能瓶颈在于目标数据库
如果session是从源文件读取数据,则性能瓶颈可能不在源
如果session是从关系型数据库读取数据的,可通过如下方法判断源的瓶颈
使用filter组件
在每一个source qualifier组件后追加一个filter组件,将条件设为false(如1=2)确保没有数据通过
如果session运行的时间还是没有变化,则可判定瓶颈在源
创建测试用的read mapping
创建测试用的read mapping,并将查询与其他组件隔离,创建步骤如下:
1) 将原来mapping复制
2) 在复制的mapping里,只保留sources, source qualifiers和任何其他custom joins或queries组件
3) 移除所有中间数据转换处理的组件
4) 将source qualifiers组件连接至目标文件
如果session运行的时间还是没有变化,则可判定瓶颈在源
使用数据库查询
直接在数据库端运行查询脚本
如果脚本运行的时间很长,则可判定瓶颈在于源的查询脚本
如何解决源的性能
1) 当Integration Service从文件读取数据,可设定读取每行数据时的最大字节数
2) 让DBA优化查询脚本
3) 增加数据库网络包大小
4) 追加索引和约束
5) 如果一个数据库查询在两个时间测量之间有很长的延迟,可以考虑使用优化器(optimizer hint)
性能瓶颈之Source的更多相关文章
- Informatica
安装 相关专题 关于Bulk加载模式 性能调优 性能瓶颈 性能瓶颈概览 性能瓶颈之Target 性能瓶颈之Source 性能瓶颈之Mapping 性能瓶颈之Session 性能瓶颈之System 性能 ...
- 使用Visual Studio 寻找App性能瓶颈
使用Visual Studio 寻找App性能瓶颈 最后更新日期:2014-05-05 阅读前提: 环境:Windows 8.1 64bit英文版,Visual Studio 2013 专业版Upda ...
- 使用XHProf查找PHP性能瓶颈
XHProf是facebook 开发的一个测试php性能的扩展,本文记录了在PHP应用中使用XHProf对PHP进行性能优化,查找性能瓶颈的方法. 一.安装Xhprof扩展 //github上下载ht ...
- 性能瓶颈之System
如果Source,Target,Mapping和Session都不存在性能上的瓶颈,则问题可能会出在System 因为Integration Service运行时,它使用了System的资源去运行组件 ...
- 性能瓶颈之Session
如果Source,Target和Mapping都不存在性能上的瓶颈,则问题可能会出在Session 以下问题可导致Session有性能上的瓶颈 1) 缓存小 2) 缓冲内存小 3) commit提交间 ...
- 性能瓶颈之Mapping
如果Source和Target都不存在性能上的瓶颈,则问题可能会出在Mapping 如何判定Mapping存在性能瓶颈 1) 在session log中读取thread statistics和wor ...
- 通过 Java 线程堆栈进行性能瓶颈分析
改善性能意味着用更少的资源做更多的事情.为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算, ...
- 通过Java 线程堆栈进行性能瓶颈分析
改善性能意味着用更少的资源做更多的事情.为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算, ...
- php:使用XHProf查找PHP性能瓶颈
https://www.cnblogs.com/casatwy/archive/2013/01/17/2865241.html XHProf是facebook 开发的一个测试php性能的扩展,本文记录 ...
随机推荐
- Vb6调用C#生成的dll
namespace ClassLibrary1 { [ClassInterface(ClassInterfaceType.AutoDispatch)] //注意这行,这行是关键 pub ...
- 一、PyQt5基础概念与安装配置
一.初识PyQt5 对于桌面程序开发,用户图形界面(GUI)的设计非常重要.一款美观.易用的用户界面可以很大程度上提高对使用这的友好度.由于Python最初是作为脚本语言开发,并没有GUI功能.但Py ...
- Vmware Workstation添加centos 7系统网络问题(无IP情况)
简单配置 命令行输入ip addr 查询不到IP的情况,如下: 解决办法: 1. vi /etc/sysconfig/network-scripts/ifcfg-ens33 2. 最后一行,ONBO ...
- 移动端常见bug
meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-wid ...
- jq 下拉框获取选中自定义属性值
// 下拉框发送改变后 获取选择的信息 <div class="form-group"> <label class="col-sm-3 control- ...
- 特征选择 (feature_selection)
目录 特征选择 (feature_selection) Filter 1. 移除低方差的特征 (Removing features with low variance) 2. 单变量特征选择 (Uni ...
- HDU 1846 巴什博奕
点这里去做题 最简单的巴什博奕 ,凑m+1 #include<bits/stdc++.h> int main() { int T,n,r,m; scanf("%d",& ...
- 生成二维码图片(tp3.2)
下载二维码库 放在适合的地方 生成二维码 这里存在表里 效果(查看时)
- 因为曾经装过Mysql导致再次装时windows无法启动MySQL服务报错1067的解决方法
找到这里 MySQL右击属性 检查这里的可执行文件的路径是否正确,因为我这里显示的是原先的文件夹所以会一直启动失败,修改一下 这里你去百度经验 windows服务修改可执行文件路径 网址https:/ ...
- Shader_ShaderForge_NGUI_流光&波纹&消融
Shader篇 总结:总算解决了NGUI中Shader不能实时更改的问题,原来NGUI中的Texture组件提供了OnRender代码示例如下 /*************************** ...