我工作的一个项目,我们是直接打到LoadRunner的交易.mdb文件中提取原始数据。
MDB是各种表Microsoft Access数据库和存储信息。 任何一个可以帮助我,这表是指获得相关信息的响应时间? 一个表,我挑了“BasicTransactionPercentile”,但是这个表似乎很不一致,在一个.mdb文件它的存在和其他它不是。
请帮忙 !
我工作的一个项目,我们是直接打到LoadRunner的交易.mdb文件中提取原始数据。
MDB是各种表Microsoft Access数据库和存储信息。 任何一个可以帮助我,这表是指获得相关信息的响应时间? 一个表,我挑了“BasicTransactionPercentile”,但是这个表似乎很不一致,在一个.mdb文件它的存在和其他它不是。
请帮忙 !
所有的mdb文件中的表和关系都记录在[元数据表,其中包括主键和外键。 对于事务信息,你将要与包含在[事件计表及其关系的原始数据担心自己。 您将需要拉你从[元数据]表类型的交易事件名称以及传递状态所需要的关系。
不像一些其他的数据库引擎,如SQL Server和Oracle,Access不具有一个内置的百分功能,你可以利用,这意味着你将需要从基础统计功能编写自己的。 你有没有考虑使用SQL Server,甚至是速成版,因为你的分析数据存储?
使用jackcess API,这里是你如何从通过Java MDB文件中提取事务的东西的胆量。
你可以从Event_map“交易”事件ID列表
Table table = db.getTable("Event_map");
那么你可以去通了“Event_meter”表,并选择你想要的交易活动,这里是交易大纲执行和运行时间
Table table = db.getTable("Event_meter");
for (Row row : table) { .....
// The txn recored time "End Time" is the relative end time in seconds to 3 decimals of the txn. Storing as epoch time in msecs
Double txnSecsFromStart = (Double)row.get("End Time");
Long txnEpochTimeMsecs = new Double( runStartTimeEpochMsecs + txnSecsFromStart * 1000 ).longValue();
lrEventMeterBean.setEndTime(txnEpochTimeMsecs.toString());
BigDecimal rawValue = new BigDecimal((Double)row.get("Value" )).setScale(6, RoundingMode.HALF_UP);
BigDecimal thinkTime = new BigDecimal((Double)row.get("Think Time")).setScale(6, RoundingMode.HALF_UP);
lrEventMeterBean.setValue( rawValue.subtract(thinkTime));
.... //所以对其他领域
注:“runStartTimeEpochMsecs”从“结果”表中获得
由于数据处理在访问相当有限,我们将提取的数据加载到MySQL数据库。 然后获取值,如第90百分位,那场比赛的分析报告是可能的(花了一些工作!)。
PS:请记住我说的是这里有整个测试数据的mdb文件,过滤数据的处理方式不同。 IMO过滤后的数据太复杂,担心(该分析报告的神奇和复杂性是你所支付毕竟...)。 同样,我们使用MySQL数据库为基础的过滤。