05 2014 档案

Websphere性能调优的基本步骤
摘要:部署在WAS上的J2EE应用程序,其性能是由多个因素决定的。例如网络、数据库、内存分配、WAS服务器的配置以及应用程序的设计。对于一个标准的J2EE应用,一个请求到来时,往往需要经过多次转发:网络> Web服务器Web容器 > EJB容器 >数据库。而每一次转发,都可能造成请求处理的瓶颈,使得应用程... 阅读全文

posted @ 2014-05-23 22:58 当时已枉然 阅读(592) 评论(0) 推荐(0)

如何处理高并发情况下的DB插入
摘要:插入数据库,在大家开发过程中是很经常的事情,假设我们有这么一个需求:1、 我们需要接收一个外部的订单,而这个订单号是不允许重复的2、 数据库对外部订单号没有做唯一性约束3、 外部经常插入相同的订单,对于已经存在的订单则拒绝处理对于这个需求,很简单我们会用下面的代码进行处理(思路:先查找数据库,如果数... 阅读全文

posted @ 2014-05-23 22:47 当时已枉然 阅读(465) 评论(0) 推荐(0)

JVM学习笔记
摘要:从Java平台的逻辑结构上来看,我们可以从下图来了解JVM:从上图能清晰看到Java平台包含的各个逻辑模块,也能了解到JDK与JRE的区别对于JVM自身的物理结构,我们可以从下图鸟瞰一下:对于JVM的学习,在我看来这么几个部分最重要:Java代码编译和执行的整个过程JVM内存管理及垃圾回收机制下面将... 阅读全文

posted @ 2014-05-23 22:45 当时已枉然 阅读(143) 评论(0) 推荐(0)

JVM内存管理:深入Java内存区域与OOM
摘要:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述:对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。... 阅读全文

posted @ 2014-05-23 22:38 当时已枉然 阅读(265) 评论(0) 推荐(0)

深入理解JVM--JVM垃圾回收机制
摘要:Java语言出来之前,大家都在拼命的写C或者C++的程序,而此时存在一个很大的矛盾,C++等语言创建对象要不断的去开辟空间,不用的时候有需要不断的去释放控件,既要写构造函数,又要写析构函数,很多时候都在重复的allocated,然后不停的~析构。于是,有人就提出,能不能写一段程序在实现这块功能,每次... 阅读全文

posted @ 2014-05-23 21:50 当时已枉然 阅读(497) 评论(0) 推荐(0)

深入理解JVM—性能调优
摘要:在上文中我们分析了很多性能监控工具,介绍这些工具的目的只有一个,那就是找出对应的性能瓶颈。盲目的性能调优是没有效果的,只有充分知道了哪里出了问题,针对性的结果才是立竿见影的。解决了主要的性能问题,那些次要的性能问题也就不足为虑了!我们知道,性能问题无非就这么几种:CPU、内存、磁盘IO、网络。那我们... 阅读全文

posted @ 2014-05-23 21:32 当时已枉然 阅读(294) 评论(0) 推荐(0)

深入理解JVM—性能监控工具
摘要:我们知道,在JVM编译期和加载器,甚至运行期已经做了大量的调优操作,但是那些都是JVM针对Java程序所做的通用的、简单的优化,程序在运行时由于运行环境的复杂性、业务逻辑的复杂性,很多JVM是无法进行优化处理的,这就需要我们自己在写代码的时候就注意,以便我们的程序在特定的业务场景发挥到最佳性能。要进... 阅读全文

posted @ 2014-05-23 21:14 当时已枉然 阅读(258) 评论(0) 推荐(0)

性能调优攻略
摘要:摘要:关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上... 阅读全文

posted @ 2014-05-23 16:47 当时已枉然 阅读(151) 评论(0) 推荐(0)

Shell脚本基础
摘要:1. 编译型语言好处是高效,缺点是:他们多半运行在底层,所处理的是字节,整数,浮点数或是其他机器层级的对象。脚本编程语言通常是解释型,这类程序的执行,是由解释器读入程序代码,将其转换为内部的形式。解释器本身是一般的编译型程序。确定是:效率不如编译型语言。shell脚本是简单性,可移植性,开发容易的特... 阅读全文

posted @ 2014-05-21 12:54 当时已枉然 阅读(117) 评论(0) 推荐(0)

jstack Dump日志文件中的线程状态
摘要:jstack Dump 日志文件中的线程状态dump 文件里,值得关注的线程状态有:死锁,Deadlock(重点关注)执行中,Runnable 等待资源,Waiting on condition(重点关注)等待获取监视器,Waiting on monitor entry(重点关注)暂停,Suspen... 阅读全文

posted @ 2014-05-20 22:10 当时已枉然 阅读(1770) 评论(1) 推荐(0)

JVM调优[转]
摘要:JVM调优总结-序 几年前写过一篇关于JVM调优的文章,前段时间拿出来看了看,又添加了一些东西。突然发现,基础真的很重要。学习的过程是一个由表及里,再由里及表的过程。呵呵,所谓的“温故而知新”。而真正能走完这个轮回的人,也就能称为大牛或专家了。这个过程可能来来回回,这就是所谓“螺旋上升”,而每一次轮... 阅读全文

posted @ 2014-05-20 12:22 当时已枉然 阅读(213) 评论(0) 推荐(0)

I/O相关的等待事件
摘要:1. 查看Oracle数据库是否存在IO相关的竞争等待有下面三种方法:statpack报告的top 5 wait events或者AWR报告中的top 5 timed events。数据库等待事件的sql语句跟踪中主要都是IO相关的等待事件的限制。操作系统工具显示存储数据库文件的存储磁盘有非常高的利... 阅读全文

posted @ 2014-05-19 17:46 当时已枉然 阅读(415) 评论(0) 推荐(0)

等待事件监测性能瓶颈
摘要:1. 会话等待事件性能视图:v$system_event, v$session_event, v$session_waitv$system_event: 查看整个系统级或者说最高级别的整体系统性能情况,这里面没有每个会话的相关信息,而是对每个事件总计了从系统启动以来在所有会话中发生过的情况。这个视图... 阅读全文

posted @ 2014-05-19 12:27 当时已枉然 阅读(889) 评论(0) 推荐(0)

Shared pool
摘要:1. Shared pool是SGA设置中最复杂也是最重要的一部分内容,Oracle通过Shared pool来实现sql共享,减少代码硬分析等,从而提高数据库的性能。Shared pool的大小可以通过初始化参数shared_pool_size设置。2. 把Shared pool的内存结构在lev... 阅读全文

posted @ 2014-05-19 11:03 当时已枉然 阅读(131) 评论(0) 推荐(0)

使用SQL_Trace和10046事件进行数据库诊断
摘要:使用SQL_Trace和10046事件进行数据库诊断步骤:1. 利用top命令找到当前占用cpu资源最高的一个数据库进程的PID。2. 在数据库中根据PID号找到相应的SID号和SERIAL#select s.sid, s.serial# from v$session s, v$process p ... 阅读全文

posted @ 2014-05-18 21:13 当时已枉然 阅读(200) 评论(0) 推荐(0)

SQL*Plus和PL/SQL
摘要:1. SQL*Plus登陆:在cmd中,使用sqlplus [usernam]/[pwd]或者sqlplus [usernam]/[pwd] as sysdba或者sqlplus [usernam]/[pwd]@[netsvr],netsvr是已定义的网络服务名。2. 获得帮助索引:help ind... 阅读全文

posted @ 2014-05-18 17:09 当时已枉然 阅读(455) 评论(0) 推荐(0)

Oracle优化器和执行计划
摘要:1. 优化器(Optimizer)是sql分析和执行的优化工具,它负责制定sql的执行计划,负责保证sql执行效率最高,比如决定oracle以什么方式访问数据,全表扫描(full table scan)还是索引范围(index range scan)扫描,还是全索引快速扫描(index fast f... 阅读全文

posted @ 2014-05-18 14:24 当时已枉然 阅读(293) 评论(0) 推荐(0)

10053事件
摘要:10053事件:将CBO如何做出这个执行计划的整个过程展示出来。10053同样会在$Oracle_base/admin/sid/udump下产生一个trace文件,这个trace文件不能用tkprof工具处理,tkprof工具只能处理sql_trace或者10046事件。windows系统在D:\O... 阅读全文

posted @ 2014-05-18 14:23 当时已枉然 阅读(202) 评论(0) 推荐(0)

SQL_TRACE和10046事件
摘要:1. SQL_TRACE命令将sql的整个过程输出到一个trace文件,通过读取这个trace文件来了解这个sql执行过程中oracle究竟做了什么事情。设置SQL_TRACE生成的trace文件标识:alter session set tracefile_identifier='mytest';在... 阅读全文

posted @ 2014-05-18 10:10 当时已枉然 阅读(1100) 评论(0) 推荐(0)

性能视图和初始化参数
摘要:在oracle中,和用户有关的表有三种:用户自己创建的表,数据字典视图,动态性能视图。在后2种视图中,用户可以查询自己关心的信息。数据字典是一种系统表,它在数据库被创建时自动产生,由数据库服务器进行维护和更新。有三类主要的数据字典视图,这些视图名称分别以以下标识符开始:user_ : 存储当前用户所... 阅读全文

posted @ 2014-05-17 22:46 当时已枉然 阅读(264) 评论(0) 推荐(0)

变量绑定
摘要:1. 当一个用户与数据库建立起链接以后,会向数据库发出操作请求,一条或者多条sql语句,Oracle接收到sql之后,首先将这个sql做一个hash函数运算,得到一个hash值,然后到共享池中寻找是否有和这个hash值匹配的sql,如果找到,oracle将直接使用已经存在的sql的执行计划去执行当前... 阅读全文

posted @ 2014-05-17 17:16 当时已枉然 阅读(377) 评论(0) 推荐(0)

分析及动态采样
摘要:CBO的机制是收集尽可能多的对象信息和系统信息,通过对这些信息进行计算,分析,评估,最终得出一个成本最低的执行计划。为了让CBO总是做出最正确的执行计划,就需要给CBO提供尽可能多的段对象(表,表分区,索引等)信息。1. 如果一个表没有做分析,数据库将自动对它做动态采样分析,如果想模拟在没有分析数据... 阅读全文

posted @ 2014-05-17 14:13 当时已枉然 阅读(671) 评论(0) 推荐(0)

Hint
摘要:Hint是Oracle提供的一种sql语法,它允许用户在sql中插入相关的语法来影响sql的执行方式。如果CBO(基于成本的优化器)认为使用Hint会导致错误的结果,Hint将被忽略1. 访问路径相关的Hint:FULL Hint: 告诉优化器对指定的表通过全表扫描的方式访问数据select /*+... 阅读全文

posted @ 2014-05-17 13:53 当时已枉然 阅读(657) 评论(0) 推荐(0)

Latch和等待
摘要:Latch是Oracle为了保护内存结构而发明的一种资源。就如同在SGA中,各种数据被反复从磁盘读取到内存,又重新写回到磁盘上,如果有并发用户做相同的事情,Oracle必须有一种机制,来保证数据在读取的时候,只能由一个会话来完成,这种保护机制就用到了Latch。Latch是一种轻量级锁,它不会引起阻... 阅读全文

posted @ 2014-05-16 22:45 当时已枉然 阅读(269) 评论(0) 推荐(0)

Oracle的锁和阻塞
摘要:锁是由并发产生,并发(concurrency)指超过两个以上的用户对同样的数据做修改,可能包括插入,删除和修改。并行(parallel)指将一个任务分成很多小的部分,每一个部分同时执行,最后将执行结果汇总成最后的结果。查看数据库中是否存在锁:1. 查看会话SID:select sid from v$... 阅读全文

posted @ 2014-05-16 17:30 当时已枉然 阅读(929) 评论(0) 推荐(0)

Oracle表空间相关命令
摘要:Oracle表空间按存储数据类型可分为SYSTEM表空间,SYSAUX表空间,UNDO表空间,临时表空间和用户表空间,按存储空间方式可分为字典管理表空间和本地管理表空间,按是否支持大文件可分为大文件表空间和小文件表空间。创建临时表空间create temporary tablespace[temp_... 阅读全文

posted @ 2014-05-16 16:03 当时已枉然 阅读(183) 评论(0) 推荐(0)

Oracle用户相关命令
摘要:Oracle用户是一个数据库对象,用户所有的操作默认在自己的模式下进行,模式是一个用户所拥有的数据库对象的集合,每个用户都有自己的模式,用户和模式之间是一一对应的,模式的名字与用户名相同。例如,SCOTT用户的模式为SCOTT,在这个模式中包含了用户SCOTT拥有的所有数据库对象,包括表,视图,索引... 阅读全文

posted @ 2014-05-16 11:37 当时已枉然 阅读(328) 评论(0) 推荐(0)