- 博客(66)
- 收藏
- 关注
转载 对Web服务进行压力测试
Web 服务处于分布式计算的核心位置,它们之间的交互通常很难测试。分布式开发、大型的开发者团队以及对代码日益组件化的期望都有可能使 Web 服务的开发变得越来越容易隐藏错误。这些类型的错误极难检测出来。压力测试是检测这类代码错误的一种有效方法,但是只有在压力系统设计得比较有效的情况下 才能发挥作用。本文将让您深入了解一下这种压力系统的基本要求。 测试方法传统的测试方法包括某种形式的
2010-05-16 21:23:00 452
转载 数据仓库平台的思考
<br /><br />计算数据中心:提供统一的结构化和半结构化的数据存储服务并提供对这些数据的计算能力;<br />平台的关键字是稳定和弹性,其特性应包括:<br />1,存储服务的提供:数据群集存储服务,应用对数据访问透明,无需关心存储的位置;提供结构化和半结构化的数据存储服务;支持数据的稀疏存储(非常重要);数据主题的数据在建模过程会根据主体域对象建立数据模型(蒲公英模型);对于不同的访问模式(AD-HOC、K/V访问)允许制定不同的存储策略以保证系统性能(按照需要读取的列全列扫描或者通过索引的快速扫
2010-07-12 19:57:00 456
转载 biee查询greenplum数据库时遇到的转义符问题
<br />一个业务用户在biee中进行即席查询时,遇到一个很奇怪的问题,查询场景如下:<br /><br />可以得到如下图的结果,<br /><br />在此基础上,再添加一个筛选,限定类目=’童装/婴幼儿服装’时,查询会返回为无结果,但实际应是有数据的,如上图标注。另限定查询其它类目,则可以正确返回相应类目的结果数据。通过查看日志,biee所生成的SQL语法无问题,但拿到psql中去执行,会有一个返回信息:Use the escape string syntax for escapes.方才察觉到无结
2010-07-12 19:56:00 711
转载 postgresql 源码剖析之环境篇
<br />GreenPlum 已经成了DW的ETL任务的重要运算环境。而GreenPlum 就是基于postgresql的分布式数据库。加之,postgresql数据库本身开源,而且实现的功能很全面的数据库。所以能有机会看看postgresql源码,对学习数据库,或了解Greenplum 有着很重要的意义。<br />在学校的时候很是喜欢eclipse 开发IDE。它秉承open的原则,支持插件的模式,很是吸引着一批开发人员。故此,决定在windows通过eclipse 来搭建一个分析postgresql
2010-07-12 19:55:00 460
转载 hash join概念
<br />在Oracle中,从7.3开始引入Hash Join,以代替sort-merge和nested-loop join方式,提高效率。在基于CBO模式下,优化器计算代价时,首先会考虑hash join。如今,在数据仓库的数据库应用程序中,Hash Join被大量使用。<br /> 可以通过提示use_hash来强制使用hash join。<br /> Hash join的主要资源消耗在于CPU,而merge join的资源消耗主要在于此盘IO(扫描表或索引)。<br />在
2010-07-12 19:53:00 1326
原创 维度建模学习笔记系列(1)-总纲
<br />一个仓库是否好,随着技术的发展,对它的要求也越来越高,而维度建模这种新的技术也随之诞生,事实证明它确实好用,而且能让仓库发挥更大的作用<br />1)关于维度建模的神话,之所以称呼为神话,是因为这些说法都是错误的<br />•维度模型与数据中心都只是应用于概要性数据方面<br />•维度模型与数据中心都是针对部门而不是企业的解决方案<br />•维度模型与数据中心都是不可升级的<br />•维度模型与数据中心仅适合于可预见的业务需求<br />•维度模型与数据中心是不能集成的<br />2)维度
2010-07-12 19:53:00 488
转载 关于备份数据块的理解
<br />备份数据块: <br />数据库备份的本质是把要备份的内容复制一份到另一个地方(备份的目的地),以便在数据出现问题时还原,这和日常的文档操作中的概念类似,例如,对于重要文件经常会拷贝一份(甚至几份)来保护文件。<br />数据块备份的原理: 基于通道数和同时备份的文件数,RMAN在Oracle共享内存段中创建一些内存缓存区。一般是在PGA,不过有时也会推进到SGA中。通道(channel)服务器进程随后开始读取数据文件,并在缓冲区中填充这些数据块(写入到内存),一个缓冲区被填满时,会被推入到输出
2010-07-12 19:52:00 218
转载 文本处理代替GREENPLUM中行列转换功能
<br />对7000万条记录按照4800个类目做记录合并,且需要按照其中某个字段做排序; <br /> 这个需求最变态的地方是最大的一个类目有42万条记录,即,要将42万条记录归成为一条记录,且需要排序。之前单纯用SQL实现,在104个GP SEGMENT上,耗时1小时以上; <br /> 用python写了一个单进程的处理程序,只利用GP做SORT(操作系统的SORT还是比较慢的);因为该需求最终需要将生成的文件给ASC P4P,所以数据导出动作不可避免; <br /> 从GREENP
2010-07-12 19:47:00 425
转载 使用GP MAP REDUCE解决GROUP BY SET DISTINCT
<br />对1.7亿的有效OFFER,按照11个不同的GROUP BY SET组合分组,每个组合按照6个不同的字段做COUNT DISTINCT以及COUNT;<br />使用GREENPLUM MAP REDUCE解决GROUP BY DISTINCT GROUP BY SET的问题<br />之前单纯用SQL实现,在9个节点的GP测试环境中,耗时4万秒;<br />用GP MAP REDUCE 重写JOB,在同样的环境中整个过程耗时1200秒左右(20分钟);<br /> <br />默认的GREEN
2010-07-12 19:42:00 846
原创 数据仓库质量保证概述分析
1 概述<br />随着用户对数据分析需求的增长,数据仓库信息质量变得越来越重要,质量差的数据不仅可能对企业经营带来负面影响,而且会使用户觉得所产生的报表不可信赖,更重要的是错误的数据容易误导用户,从而造成管理决策的失误,会造成客户流失。<br />高质量的决策必然依赖于高质量的数据,为了避免得出错误的结论,数据的正确性是至关重要的,否则就会出现所谓的垃圾进,垃圾出(garbage in ,garbage out)的现象。但是对于一个数据质量要求比较高并且涉及金融行业的公司来说,不仅要求源头数据的清
2010-06-17 18:47:00 1962
转载 QTP3种调用外部文件分析
在比较之前先简明叙述一下使用方法,以给初学者由浅入深的理解比如我们有一个函数Wally.vbs放在了C:盘下, 其中有如下函数(获取本机的IP地址):Function GetIPAddr()Set bjWMI = GetObject("winmgmts://./root/cimv2")Set colIP = objWMI.ExecQuery("Select * from Win32_Network
2010-05-20 11:25:00 712
转载 一个性能瓶颈分析的过程(一个牛人的性能测试分析思路、拜读)
前段时间公司打造了自己的WEB开发框架新版,性能比以前的两个版有很大提高。在性能基准测试时,某个测试的业务场景为18000个TPS左右。但是后来增加了session序列化模块后,一下子下降低到6000个TPS左右,就是因为这个模块性能一下子降低三倍。jvisulevm监视查看到其中的加密方法占用了47%的CPU处理时间,于是重点测试这个方法。这个方法做了三件事。1.加密,2
2010-05-14 19:06:00 492
原创 接口测试设计浅谈
接口测试时属于灰盒测试,是功能测试一种,但是它要求测试工程师熟悉代码,同时还需了解系统设计和接口定义。API定义名称 访问规则 描述api_trade 须用户访问
2010-05-13 21:57:00 461
原创 php的simpletest框架对uchome项目进行接口测试脚本
require_once (unit_tester.php);require_once (reporter.php);require_once (../config.php);require_once (../source/modules/user/user_api.func.php);require_once (../source/base_model.class.php);
2010-05-13 21:52:00 639
转载 海量分布式存储技术HDFS(Hadoop Distributed File System)
3.The Hadoop Distributed File System3. The Hadoop Distributed File System 3.1. The Design of HDFS HDFS设计的针对对象:适合流式访问的超大文件、在使用便宜的硬件搭建的集群上运行。 HDFS不足: 低延迟数据访问(Hbase是个好选择)、小文件多的时候出现问题(HDFS将文件Meta信息存储在内存
2010-05-09 09:13:00 6827 2
原创 性能测试杂论
性能测试术语1、响应时间响应时间=呈现时间+系统响应时间系统响应时间=网络传输时间+应用延迟时间应用延迟时间=数据库延迟时间+应用服务器延迟时间2、并发用户数一般为10%同时操作人数并发用户数即业务并发用户数同时在线用户人数(即整个业务系统的并发用户数)估算并发用户数具体数值C=nL/Tn是login session的数量 L是login session
2010-05-04 20:46:00 367
原创 sql执行顺序
标准的 sql 的解析顺序为: (1).from 子句 组装来自不同数据源的数据 (2).where 子句 基于指定的条件对记录进行筛选 (3).group by 子句 将数据划分为多个分组 (4).使用聚合函数进行计算 (5).使用 having 子句筛选分组 (6).计算所有的表达式 (7).使用 order by 对结果集进行排序
2010-04-29 12:52:00 199
原创 性能矛盾时,服务器架构
1、服务器:增加服务器数量。50万用户 2、数据库:增加数据库数量,但又要保持数据的一致性(一个为主,所有数据都向它提交,然后它复制到其他两个,另两个全力供给用户数据)。40-200万用户 3、I/O容量限制:垂直分割模式设计,不同数据库服务于站点的不同功能。300万 4、问题1:存在需要共享的信息
2010-04-28 21:26:00 285
转载 深度对比Oracle与SQL Server
一般的公司通常会在他们的信息系统架构中引入多种数据库平台,同时引入三到四种不同的RDBMS解决方案的中大型公司也并不少见,当然这些公司里面的DBA们通常也需要同时拥有管理多种不同平台的技能了。只在一种平台上展开工作的数据库专家们也通常会期待着在他们的下一份工作中能学到点不一样的东西,那些有勇气的人们则愿意花时间、金钱和精力去学习新的东西,也有其他因为换了新公司或者是为了找新的工作而去学习新的系
2010-04-27 12:57:00 2966
原创 常用测试方法集合
常规测试方法 一. 功能测试 1. 安装测试:1) 安装过程中对于缺省安装目录及任意指定的安装目录,是否都能正确安装;2) 若是选择安装,查看能否实现其相应的功能;3) 在所有能中途退出安装的位置退出安装程序后,验证此程序并未安装成功(没有程序组及程序项产生);4) 软件安装后,对其它已经安装的软件是否有影响;5)
2010-04-20 23:30:00 401
原创 SQL语句优化技术分析
最近几周一直在进行数据库培训,老师精湛的技术和生动的讲解使我受益匪浅。为了让更多的新手受益,我抽空把SQL语句优化部分进行了整理,希望大家一起进步。 一、操作符优化 1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以下
2010-04-20 23:14:00 208
转载 软件测试中软件需求分析方法
软件需求分析(Software Reguirement Analysis)是研究用户需求得到的东西,完全理解用户对软件需求的完整功能,确认用户软件功能需求,建立可确认的、可验证的一个基本依据。 软件需求分析是一个项目的开端,也是项目实施最重要的关键点。据有关的机构分析结果表明,我们设计的软件产品存在不完整性、不正确性等问题80%以上是需求分析错误所导致的,而且由于需求分析错误造成根本性的
2010-04-20 16:01:00 489
转载 软件需求分析概念
1.1. 测试规格 Test specifications测试规格是产品测试规格和特性测试规格的通称,不管是产品测试规格还是特性测试规格,都需要基线化。一般而言,我们所说的测试规格都是指产品测试规格。1.2. 产品测试规格 Product test specification产品测试规格是对客户需求、产品包需求、设计需求、设计规格以及其他可能的需求进行综合测试分析,从测试角度(测试类型
2010-04-20 16:00:00 570
原创 一个完整项目的QTP脚本
Action_InitOption Explicit =====================================================Dim fso,file,filename,objTestLib,objmsgbox=====================================================create a ne
2010-04-20 11:01:00 1017 1
转载 C# 异步委托实例概述
C#异步委托实例概述1 引言曾经我做过一个项目,这个项目里面有一个计费功能,计费功能要对当月所有的费用进行计算,由于数据量很大,计算过程也有点复杂,所以用户在执行计费程序时,整个计算机就会出现“假死”的情况。在面对这种情况时,如果客户在单击“计费”按钮后,“计费”在“后台”进行,而软件的其他功能不受影响,当计费完毕,程序弹出提示窗口告知用户计费完毕,就能让软件有良好的使用效果。因此,我
2010-04-18 23:10:00 750
原创 C#异步委托解析
定义一个委托,异步调用线程static int TakesAWhile(int data,int ms){ Console.WriteLine("TakesAWhile started"); Thread.sleep(ms); Console.WriteLine("TakesAWhile completed"); return ++data;} public
2010-04-18 22:02:00 224
转载 数据库设计的14个技巧
1. 原始单据与实体之间的关系 可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单据对应多个实体,或多张原始单据对应一个实体。这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。 〖例1〗:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员
2010-04-18 14:07:00 244
翻译 程序员三部曲 C# 单元测试
第一章简介 在一个软件项目实施时候,总有这么多各种各样不同种类的测试可以实施。有些测试甚至需要最终用户来涉入进行测试。另外的一些形式可能 需要团队献身于质量保证事业或者其他的利用昂贵资源的途径。 但是这些并不是我们打算讨论的。 取而代之的,我们打算讨论单元测试。一个必要的,但是又经常被误解的,实现成功项目的途径。单元测试确实一点也不昂贵,非常简便的方法来更好,更快的产生代码。
2010-04-16 09:09:00 2799
原创 Oracle数据库中的锁机制研究
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
2010-04-16 08:37:00 315
原创 数据库查询算法剖析
一、常用查询连接算法演示 简单介绍选择操作和连接操作的实际算法,确切地说是算法思想。每一种操作有多种执行这个操作的算法。 选择操作的实现如下实现算法:例:Select * from student where ;考虑的几种情况:C1:无条件;C2:Sno=200215121;C3:Sage>20;C4:Sdept=CSAND Sage>20;
2010-04-15 18:36:00 2537 1
原创 C#集合解析
集合,表示可以通过遍历每个元素来访问的一组对象(特别是可使用foreach循环访问)一个集合包括多个元素,即有一个集合类对象和N个元素对象因为任何集合类都实现了IEnumerable接口,所以任何集合类对象都有一个GetEnumerator()方法,该方法可以返回一个实现了 IEnumerator接口的对象,这个返回的IEnumerator对象既不是集合类对象,也不是集合的元素类对象,它是一个独立
2010-04-11 20:47:00 546
转载 轻量级的面向对象C语言编程框架(程序员2010年4月技术文章)
LW_OOPC是Light-Weight Object-Oriendted Programming in(with) C的缩写, 总共一个h文件,包含20个宏,约130行代码,非常的轻量级,却很好地支持了很多面向对象的特性,比如继承、多态,可以优美地实现面向接口编程。这个框架系由台湾的高焕堂先生以及他的MISOO团队首创,之后由我继续改进优化。最后,经高焕堂同意以LGPL协议开源。
2010-04-11 17:22:00 956
转载 C#中栈和堆的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(s
2010-04-11 14:34:00 1182 1
原创 单元测试数据管理策略介绍
一DbUnit数据管理策略介绍DbUnit中操作数据库的接口动作都在DatabaseOperation中public abstract class DatabaseOperation{ public static final DatabaseOperation NONE=new DummyOperation();//DO NONE public static final D
2010-04-11 10:10:00 597
转载 泛型类继承全解析
泛型类之间的继承 普通的继承规则,包括成员的隐藏、重载和访问限制等,原则上也都适用于泛型类之间的继承。但由于泛型类是抽象的而非具体的数据类型,所以泛型类的继承问题是一个既有趣又容易产生混淆的问题。因为基类和派生类可能只有一个是泛型类,也可能二者都是,本节将分别对这3种情况进行详细说明。为了解说上的方便,首先需要引入开放类型和封闭类型的概念。 开放类型与封闭类型 在引入了泛型的概念之后,C
2010-04-08 21:24:00 2151
原创 泛型简单介绍
泛型的优势 1、性能 泛型的使用可以避免由于值类型和引用类型转换时候所发生的装箱和拆箱问题 --常用arrarylist使用方法,在object和int类型装换过程中存在装箱和拆箱过程 arrarylist array = new Arraylist() list.add(12);//装箱 int h=(int)list[0];//拆箱 --
2010-04-08 20:37:00 243
原创 C# 类型转换全解析
C#中所有的类都继承于OBJECT类类型转换之间存在隐式和显示就是因为类型所占位数不同 bool -> System.Boolean (布尔型,其值为 true 或者 false) char -> System.Char (字符型,占有两个字节,表示 1 个 Unicode 字符) byte -> System.Byte (字节型,占 1 字节,表示 8 位正整数,范围 0 ~
2010-04-08 18:59:00 379
转载 软件系统质量的评判标准
影响软件系统质量的因素有多种,对它的评判标准也不能太单一。我们既可以用外部的表面的的数据,比如Bug;也可以用内部的潜在的数据,比如每个Bug的修改成本。 这有一个例子:A产品,提交测试之后发现了比较多的Bug,但开发人员可以迅速修正,并没有带来其他的Bug。 B产品。虽然第一次测试发现的Bug比较少,但修复的时间却很长,并且回归测试带来了其他的bug。 显然A产品的质
2010-04-07 22:49:00 517
转载 C# 数据储存容器性能全解析
根据需求选择集合 “哪种集合是最好的?”答案是:“视情况而定。” 不同的集合有不同的性能,而且在不同的行为上有不同的优化。.Net框架支持很多类似的集合:链表,数组,队列,栈,以及其它的一些集合。C#支持多维的数组,它的性能与一维的数组和锯齿数组都有所不同。.Net框架同样包含了很多特殊的集合,在你创建你自己的集合类之前,请仔细参阅这些集合。你可以发现很多集合很快,因为所有的集合都实现了IColl
2010-04-07 19:52:00 2086
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人