2014-12-18 Created By
BaoXinjian

Chrome
浏览器具有强的跨平台能力跟长的扩张插件,一直是多开发者的主要选择。而用许多
Chrome
插件,开发者们于支付流程中可知极大地提高开发效率。我们尽管打点了十悠悠开发者常用的
Chrome 插件推荐给大家,相信能以公的出中助你平臂的力。

统计 1一、摘要

1. 掘金 Chrome 插件:帮你发现干货

不论是您是开发者、设计师还是产品经营,想必每天还待阅读大量的行相关文章,这便用我们浏览大量之互联网站点去探寻我们得之始末。抛开繁复的罗成本不说,「比特级」的情节都见面杀得你喘不了气来。

掘金为了缓解者问题,开发了掘金 Chrome 插件,掘金 Chrome
插件聚合了国内外上的互联网站点内容,在省而的筛选成本的以,帮您发觉好内容。

Screen Shot 2016-06-28 at 6.24.35 PM.png


2. Postman:强大的 API & HTTP 请求调试工具

深信不疑 Postman 对于掘金上之各位开发者来说,一定不见面生,这是平慢性强大的
API & HTTP 请求调试工具,Postman 不仅可以调剂简单的 HTML、CSS
以及脚本等简易的网页基本信息,这款 Chrome 插件甚至还能发送几乎拥有的
HTTP 请求,可谓是 Web 开发者的同百般利器。

Screen Shot 2016-06-29 at 10.32.31 AM.png

Oracle的守候事件是权Oracle运行状况的重要依据及指标。

3. BuiltWith Technology Profiler:你的网站,用了呀技艺栈?

用作开发者,对于友商网站所用的技能栈想必也充满了许多好奇心,有没出工具能够帮你做到这项工作也?答案就是是
Chrome 插件 BuiltWith Technology
Profiler,它能够帮助您分类呈现眼前作客网站的技巧栈组成,实乃探索友商之利器。

Screen Shot 2016-06-29 at 10.50.59 AM.png

本来,同类产品中,你为堪行使
Wappalyzer
这一款 Chrome 插件。

等待事件的定义是当Oracle7.0.1.2中引入的,大致有100单待事件。

4. Octotree:你的 GitHub 文档库

GitHub
现有的目层级形式,在查阅来自不同层级文件夹的文书之早晚,显得像未是好便利,Octotree
这款 Chrome 插件能够被您通过文档库的法子管理、查看你的 GitHub
仓库,简单直观的又,也有利于你进行文件中的跳转操作。

Screen Shot 2016-06-29 at 10.47.55 AM.png

于Oracle
8.0蒙受这个数增加至了盖150独,在Oracle8i中盖有200个事件,在Oracle9i中大约发生360单待事件。

5. GitHub Awesome Complete:属于 GitHub 的 「Alfred」

于 GitHub
搜索仓库或者项目的上,你见面怎么开?相信大部分丁的步骤都是同的:

  • 在搜寻框输入关键字后依掉车键
  • 当物色结果负找到相应结果,点击上相应页面

发生没产生再简单便捷的操作方法?答案是 GitHub Awesome Complete 这款 Chrome
插件。这款插件能够给您以 GitHub
中输入关键字后通过弹窗动态显示相应的搜结果,你所急需做的,只是点击即可。

11:12:49.jpg

 

6. Octo Mate:增强而的 GitHub 体验

除去以上两舒缓 GitHub 相关的插件,这里我还要介绍一下 Octo Mate
这款能够提升你的 GitHub 体验的稍器。对于这款插件,主要成效有以下四点:

  • 相同键下充斥文件:GitHub 可以于你特别有利的因 .zip
    格式下载所有文件,但如只有需要下载一个文本,非常麻烦。使用 Octo Mate
    后独自待点击文件图标即可下载。
  • 一致键打开项目之 Github Pages
  • 亮仓库大小
  • 显示不念消息数

相信这样同样迟迟插件一定能够给您以动 GitHub 的早晚更快捷。

06.png

统计 2其次、等待事件分类

7. Page Ruler:你的网页标尺

前端开发者以调试网页的时段,一定会遇上需要查阅网页中有具体控件或者全体网页具体尺寸的场面,这时候,Page
Ruler
能够协助您完了这同样码工作,测量网页元素,再为无用打开占据大片空间的「检查元素」窗口了。

0000.png


8. User-Agent Switcher for Chrome:网页打适应测试工具

公的网页对各设施的打适应情况怎么样?正常状况下,我们用以以不同之装备及测试网页的从适应情况,有矣
User-Agent Switcher for Chrome,只待一个浏览器插件,你可随时更换
UA,测试网页的打适应情况,帮您怪好地增长了出效率。

1111.jpg

重中之重有点儿栽类型的等候事件,即空闲(idle)等待事件与非空闲(non-idle)等待事件。

9. Vysor:解放双手的 Android 测试工具

实机调试 Android 应用,你是匪是尚以一面测试在 Android
设备一边在电脑及改动代码?有矣 Vysor 这款 Chrome 插件,只待经过 USB
连接,你便可直接以 Chrome 中经鼠标操作 Android
设备,设备里切换造成的时刻本下降了,开发效率自然就增长了。

unnamed.jpg

1.
悠闲事件指Oracle正等待某种工作,在诊断及优化数据库的时候,我们无用了多小心及时有风波。

10. SimilarWeb:查看网站各种流量数据

对此网站开发者来说,除了网站本身的代码设计与开发,网站的各种用户访问数以及流量分析也是生重要的同等片工作。SimilarWeb
这款 Chrome
插件能够帮忙你统计网站的流量来源以及排名,查询网站与等各种网站消息。

Screen Shot 2016-06-29 at 10.55.05 AM.png

除开以上介绍的十款扩展外,Chrome
还有许多类实用的扩充插件,相信您必能找到自己用之那么款插件,祝各位开发者们开愉快!

  •  dispatcher timer
  •  lock element cleanup
  •  Null event
  •  parallel query dequeue wait
  •  parallel query idle wait –
    Slaves
  •  pipe get
  •  PL/SQL lock timer
  •  pmon timer- pmon
  •  rdbms ipc message
  •  slave wait
  •  smon timer
  •  SQL*Net break/reset to
    client
  •  SQL*Net message from client
  •  SQL*Net message to client
  •  SQL*Net more data to client
  •  virtual circuit status
  •  client message

2.
非空闲等待事件特别对Oracle的活动,指数据库任务要动运行过程被发生的待,这些等待事件是咱于调整数据库的上该关心及研究的。

  •  db file scattered read
  •  db file sequential read
  •  buffer busy waits
  •  free buffer waits
  •  enqueue
  •  latch free
  •  log file parallel write
  •  log file sync

 

统计 3其三、查询视图


1.
查看v$event_name视图的字段结构:

SQL> desc v$event_name;

名称                   是否为空? 类型
 ----------------------------------------- -----------------------
 EVENT#                NUMBER
 EVENT_ID              NUMBER
 NAME                 VARCHAR2(64)
 PARAMETER1          VARCHAR2(64)
 PARAMETER2          VARCHAR2(64)
 PARAMETER3          VARCHAR2(64)
 WAIT_CLASS_ID        NUMBER
 WAIT_CLASS#          NUMBER
 WAIT_CLASS           VARCHAR2(64)

 

2.  查看等待事件总数:

SQL> select count(*) from v$event_name;
  COUNT(*)
----------
      1116

3.  查等待事件分类情况

SELECT   wait_class#,
           wait_class_id,
           wait_class,
           COUNT ( * ) AS "count"
    FROM   v$event_name
GROUP BY   wait_class#, wait_class_id, wait_class
ORDER BY   wait_class#;

WAIT_CLASS# WAIT_CLASS_IDWAIT_CLASS                count
----------- ------------- -------------------- ----------
          0    1893977003 Other                       717
          1    4217450380 Application                  17
          2    3290255840 Configuration                24
          3    4166625743 Administrative               54
          4    3875070507 Concurrency                  32
          5    3386400367 Commit                        2
          6    2723168908 Idle                         94
          7    2000153315 Network                      35
          8    1740759767 UserI/O                      45
          9    4108307767 SystemI/O                    30
         10    2396326234 Scheduler                     7
         11    3871361733 Cluster                      50
         12     644977587 Queueing                      9

 

4.  系的几个视图:

V$SESSION:
代表数据库活动之起,视为源起。

V$SESSION_WAIT:
视图用以实时记录活动SESSION的等状态,是现阶段消息。

V$SESSION_WAIT_HISTORY:
是对V$SESSION_WAIT的粗略增强,记录活动SESSION的近年10糟糕等待。

V$SQLTEXT: 
当数据库出现瓶颈时,通常可以由V$SESSION_WAIT找到那些正在等资源的SESSION,通过SESSION的SID,联合V$SESSION和V$SQLTEXT视图就足以捕获这些SESSION正在实行之SQL语句。

V$ACTIVE_SESSION_HISTORY:
是ASH的基本,用以记录活动SESSION的历史等消息,每秒采样一破,这部分内容记录在内存中,期望值是记录一个时的内容。

WRH#_ACTIVE_SESSION_HISTORY:
是V$ACTIVE_SESSION_HISTORY在AWR的贮存地。

V$ACTIVE_SESSION_HISTORY:
中之音会吃限期(每小时一不善)的刷新到负载库中,并缺省保留一个星期用于分析。

DBA_HIST_ACTIVE_SESS_HISTORY:
视图是WRH#_ACTIVE_SESSION_HISTORY视图和外几单视图的联手展现,通常经过者视图进行历史数据的拜会。

V$SYSTEM_EVENT:
由于V$SESSION记录的凡动态消息,和SESSION的生命周期相关,而并无记录历史信息,所以ORACLE提供视图V$SYSTEM_EVENT来记录数据库从启动以来拥有等待事件的汇总信息。通过是视图,用户可迅速赢得数据库运行的整概况。

 

统计 4季、等待事件


  1. db file scattered read-DB
    文件分散读取

这种情形普通显示和全表扫描相关的等待。当数据库进行全表扫时,基于性的考虑,数据会分散(scattered)读入Buffer
Cache。如果此等待事件比较显著,可能说明对一些全表扫描的阐明,没有开创索引或者没有创造合适的目录,我们也许用检讨这些数据表已规定是否开展了是的安装。

但是此等待事件未必然代表性能低下,在少数规则下Oracle
会主动以全表扫描来为换索引围观以提高性,这跟访问的数据量有关,在CBO
下Oracle 会进行更为智能的选,在RBO 下Oracle 更赞成于用索引。

以全表扫描给放置LRU(Least Recently
Used,最近最少适用)列表的冷端(cold
end),对于频繁造访的比较小的数据表,可以选择将她们Cache
到外存中,以避免频繁读取。

当以此等待事件比较显著时,可以组成v$session_longops
动态性视图来开展确诊,该视图中著录了丰富日子(运行时刻超过6
秒底)运行的事物,可能过多凡是全表扫描操作(不管怎样,这片消息还是值得咱们注意的)。

 

  1. db file sequential read-DB
    文件相继读取。

即时等同事变屡见不鲜显示与单个数据块相关的读取操作(如索引读取)。如果这等待事件比较显著,可能代表在多表连接着,表底总是各个是问题,可能无正确的下让表;或者可能说明非加以选择地展开索引。

当大多数情下我们说,通过索引可以更加快捷的收获记录,所以于一个编码规范、调整好的数据库,这个等待很死是挺健康的。但是以成千上万情景下,使用索引并无是超级的选择,比如读取较生申中大量之多寡,全表扫描或会见强烈快给找引围观,所以在开发被我们就算应当小心,对于这么的查询该进行避免以索引围观。

 

  1. Free Buffer-释放缓冲区

其一等待事件表明系统正守候内存中的可用空间,这证明当前Buffer
中一度远非Free 的内存空间。如果使用设计漂亮,SQL
书写规范,充分绑定变量,那这种等待或说明Buffer Cache
设置的偏小,你恐怕需要增大DB_BUFFER_CACHE。

Free Buffer 等待或说明DBWR
的写照起速度不够,或者磁盘存在严重的竞争,可以得考虑多检查点、使用更多的DBWR
进程,或者多物理磁盘的数码,分散负载,平衡IO。

 

  1. Buffer Busy-缓冲区忙

该待事件代表正守候一个坐unshareable方式下的缓冲区,或者表示目前方给读入buffer
cache。一般的话Buffer Busy
Wait不答应超过1%。检查缓冲等待统计有(或V$WAITSTAT),看一下等候是否位于段头(Segment
Header)。如果是,可以考虑多自由列表(freelist,对于Oracle8i
DMT)或者增加freelist
groups(在众时光是调整是立竿见影的,在8.1.6前,这个freelists参数不可知动态修改;在8.1.6同以后版本,动态修改feelists需要设置COMPATIBLE至少为8.1.6).

假设就无异待在undo
header,可以透过长回滚段(rollback
segment)来解决缓冲区的题材。如果等待在undo
block上,我们或许需要检讨不无关系应用,适当减少大规模的一致性读取,或者下降一致性读取(consistent
read)的表中的多寡密度要增大DB_CACHE_SIZE。

要等待处于data
block,可以考虑以反复并作访问的说明或数易到其他一样数据块或者拓展双重甚范围的分布(可以长pctfree值
,扩大数据分布,减少竞争),以躲避这个”热点”数据块,或者可以设想多表中的即兴列表或使本地化管理的表空间(Locally
Managed Tablespaces)。

假若等待处于寻找引块,应该考虑重建索引、分割索引或采用反往键索引。为了防范和数据块相关的休养生息冲忙等待,也可以动用比较小的片:在这种状态下,单个块被的记录就是比少,所以这个片就非是那么”繁忙”;或者可以设置双重怪之pctfree,使数据扩大物理分布,减少记录里的热竞争。

以实践DML (insert/update/
delete)时,Oracle向数块被写副信息,对于多事情并发访问的数据表,关于ITL的竞争和等候或出现,为了减少是等待,可以追加initrans,使用多独ITL槽。在Oracle9i
中,引入了一个初定义:ASSM(Segment Space Management
Auto)。通过这个新特征Oracle 使用各类图来管理空间应用。

ASSM 结合LMT 彻底改变了Oracle
的储存机制,位图freelist 能够减轻缓冲区忙等待(buffer busy
wait),这个题材在Oracle9i 以前的版里曾经是一个重的问题。

Oracle 宣称ASSM 显著地增进了DML
并发操作的性质,因为(同一个)位图的例外部分可被同时使用,这样就是免去了寻找剩余空间的错行化。根据Oracle
的测试结果,使用各类图freelist
会消除所有支行头部(对资源)的抗争,还能取超快的面世插入操作。在Oracle9i
之中,Buffer Busy wait 不再大规模!

 

  1. latch free-latch 释放

latch是一模一样种植低级排队机制,用于掩护SGA中共享内存结构。latch就像是如出一辙栽高效地受获与放的外存锁。用于防止共享内存结构被多只用户以做客。如果latch不可用,就见面记录latch释放失败(latch
free miss )。有点儿种与闩有关的门类:

  • 立刻
  • 可等

假定一个历程试图以即时模式下获得闩,而该闩已经让另外一个进程所享有,如果该闩不可知马上可用的话,那么该过程就未会见否获该闩而等。它用继续执行另一个操作。

大多数latch问题还与以下操作相关:

莫大好之是故绑定变量(library cache
latch)、重作生成问题(redo allocation latch)、缓冲存储竞争问题(cache
buffers LRU chain),以及buffer cache中的存在”热点”块(cache buffers
chain)。

常备咱们说,如果想设计一个惜败的系,不考虑绑定变量,这一个尺度就是够用了,对于异构性强之网,不应用绑定变量的结局是绝严重的。

另外为闹一些latch等待与bug有关,应当关心Metalink相关bug的昭示与补丁的颁发。当latch
miss ratios大于0.5%常常,就该研究就同一题材。

Oracle的latch机制是竞争,其拍卖接近于网络里之CSMA/CD,所有用户进程争夺latch,
对于甘愿等类型(willing-to-wait)的latch,如果一个进程在率先软尝试被并未博得latch,那么它们会等待以还品尝同破,如果通过_spin_count次战斗不能够获latch,
然后该过程转入睡眠状态,持续一段指定长度的年月,然后又醒来,按梯次重复以前的步骤.在8i/9i中默认值是_spin_count=2000。

假若SQL统计语句不克调整,在8.1.6版以上,Oracle提供了一个新的初始化参数:
CURSOR_SHARING可以经过设置CURSOR_SHARING = force
在劳动器端强制绑定变量。设置该参数可能会见带一定之副作用,对于Java的主次,有连带的bug,具体使用该关注Metalink的bug公告。

 

  1. Log Buffer Space-日志缓冲空间

当您将日志缓冲(log
buffer)产生更开日志的快比LGWR 的抒写有速度快,或者是当日志切换(log
switch)太慢不时,就见面产生这种等待。这个等待出现经常,通常表明redo log buffer
过多少,为釜底抽薪者问题,可以设想外加日志文件的深浅,或者多日志缓冲器的轻重。

除此以外一个或者的来由是磁盘I/O
存在瓶颈,可以设想用写副速度又快之磁盘。在同意的标准化下设置可以设想使用裸设备来存放在日志文件,提高写副效率。在形似的系统遭到,最低的规范是,不要管日志文件及数据文件存放于协同,因为一般而言日志文件才写不读,分离存放可以获取属性提升。

 

  1. Log File Switch-日志文件切换

当这个等待出现经常,表示有的提交(commit)的求都急需拭目以待”日志文件切换”的落成

Log file Switch
主要包含两个子事件:

log file switch (archiving needed)

log file switch (checkpoint
incomplete)

log file switch (archiving
needed)

此等待事件出现不时一般是以日志组循环写满后,第一个日志归档尚未形成,出现该等。出现该待,可能意味着io
存在问题。解决办法:

好考虑外加日志文件以及加日志组

举手投足归档文件到便捷磁盘

调整log_archive_max_processes .

log file switch (checkpoint
incomplete)-日志切换(检查点未成功)

当你的日志组都勾了之后,LGWR
试图写第一独log file,如果此刻数据库没有到位写有记录在率先个log file
中的dirty 块时(例如第一单检查点未得),该待事件出现。

该待事件屡见不鲜表示若的DBWR
写起速度太慢或者IO 存在问题。

啊化解该问题,你或用考虑多额外的DBWR
或者多你的日志组或日志文件大小。

 

  1. log file sync-日志文件共

当一个用户提交或回滚数据常常,LGWR
将会话期的重做由日志缓冲器写副到再也开日志被。日志文件并过程要待这同样进程成功做到。为了减小这种等待事件,可以尝尝同次等提交更多之笔录(频繁的交由会带双重多之系出)。将更开日志置于较快的磁盘上,或者轮岗使用不同物理磁盘上的重做日志,以降归档对LGWR的影响。

对此软RAID,一般的话不要使用RAID 5,RAID5
对频繁写副得系统会带来比较充分的特性损失,可以考虑用文件系统直接输入/输出,或者使用裸设备(raw
device),这样可获取写入的性提高。

 

  1. log file single
    write该事件仅仅及写日记文件头块相关,通常发生在长新的组成员和增进序列号时。

头块写单个进行,因为头块的片信息是文件号,每个文件不同。更新日志文件头是操作以后台完成,一般很少出现等待,无需太多关心。

 

  1. log file parallel write

从log buffer 写redo 记录及redo log
文件,主要指常规写操作(相对于log file sync)。如果你的Log group
存在多只组成员,当flush log buffer
时,写操作是相互的,这时候此等待事件可能出现。

尽管这写操作并行处理,直到有I/O
操作完该写操作才会做到(如果您的磁盘支持异步IO或者应用IO
SLAVE,那么尽管只是出一个redo log file member,也发生或出现这个伺机)。

是参数和log file sync
时间相较足用来衡量log file 的描摹副基金。通常称为同步成本率。

 

  1. control file parallel
    write-控制文件并行写

当server
进程更新具有控制文件时,这个事件或者出现。如果等待很不够,可以不要考虑。如果等待时较丰富,检查存放控制文件的情理磁盘I/O
是否在瓶颈。

大多独控制文件是完全相同的正片,用于镜像以加强安全性。对于工作系统,多单操文件应当存放于不同之磁盘上,一般的话三独是够的,如果就发生少数单大体硬盘,那么少单操文件也是得接受的。在与一个磁盘上保留多个操文件是不备实际意义的。减少这等待,可以考虑如下方法:

削减控制文件的个数(在保平安之前提下)

而系统支持,使用异步IO

变控制文件及IO 负担轻的情理磁盘

 

  1. control file sequential read/ control
    file single write

决定文件连续读/控制文件单个写对单个控制文件I/O
存在问题时,这有限单事件会出现。如果等待于明白,检查单个控制文件,看存放位置是不是留存I/O
瓶颈。

 

  1. direct path
    write-直接途径写该等发生在,系统等确认有未到位的异步I/O
    都早已写副磁盘。

对这无异于勾副等,我们理应找到I/O
操作最为频繁之数据文件(如果起了多的排序操作,很有或就是临时文件),分散负载,加快其写副操作。

要系统是过多之磁盘排序,会造成临时表空间操作频繁,对于这种状况,可以考虑用Local管理表空间,分成基本上单稍文件,写副不同磁盘或者裸设备。

 

  1. Idle Event-空闲事件

末段咱们来拘禁几乎单空闲等待事件。一般的话,空闲等待是赖系为不管事而做的等待,或者等待用户的伸手或响应等,通常咱们得以忽略这些等待事件。空闲事件可以经stats$idle_event
表查询得到。

我们看一下体系的关键空闲等待事件,对这些事件大家该出只大概的印象,如果您的Top
5
等候事件被,主要还是这些事件,那么一般的话你的网是比价清闲的。

 

Thanks and Regards

参考:RuleV5 –
http://blog.csdn.net/rulev5/article/details/7075401

统计 5