【精品】为提高性能而调校环境

【精品】为提高性能而调校环境

ID:25960113

大小:2.34 MB

页数:38页

时间:2018-11-23

【精品】为提高性能而调校环境_第1页
【精品】为提高性能而调校环境_第2页
【精品】为提高性能而调校环境_第3页
【精品】为提高性能而调校环境_第4页
【精品】为提高性能而调校环境_第5页
资源描述:

《【精品】为提高性能而调校环境》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、海量管理资源免费下载!第4章为提高性能而调校环境数据库应用程序的性能是由响应时间、吞吐量进行衡量,还是由可伸缩性进行衡量,要受到诸多因素的影响,这些因素中的每一个都会成为整体性能的制约因素。在第3章中我们解释过,数据库驱动程序只是数据库中间件的一个组件,为了处理数据库应用程序和数据库管理软件之间的通信,数据库驱动程序还需要使用多个环境层。本章将描述这些环境层(如图4-1所示)影响性能的原理,并解释如何为经过这些层的数据请求和响应优化性能。此外,本章还提供了数据库驱动程序、具体的应用程序设计和编码技巧如何能够优化硬件资源以及缓解性能瓶颈的有关细节

2、。管理资源吧·管理人自己的下载网站海量管理资源免费下载!图4-1环境层如下面真实的例子所显示的,环境接口可能很重要。一个大的商业软件公司在局域网(LAN)上全面地测试一个新的数据库应用程序,根据运行的所有基准性能是可以接受的。令人惊奇的是,当将数据库应用程序部署到产品环境,该环境涉及在广域网(WAN)上进行网络传输,整个响应时间翻了一倍。由于性能的问题,开发人员将在测试环境中使用的实际机器放置到产品环境;性能仍然让人感到惊奇。对产品环境中的数据库应用程序进行调试之后,开发人员发现在广域网上的网络传输经过多个低MTU的网络节点,这造成了网络包分片

3、。有关网络包分片的更多信息,请阅读4.3.6节。在本章中,我们将讨论以下环境层影响性能的原理,以及如何才能够避免这些问题:●运行时环境(Java和.NET)●操作系统●网络●硬件4.1运行时环境(Java与.NET)管理资源吧·管理人自己的下载网站海量管理资源免费下载!Java虚拟机(JVM)和.NET公共语言运行库(CLR)有哪些共同的作用?它们都是应用程序的运行时环境。只不过,JVM是用于Java语言的运行时环境,而.NETCLR是.NETFramework的一部分,作为Windows平台上多种语言的运行时环境。它们还都会显著地影响数据库应

4、用程序的性能。4.1.1JVMIBM、SunMicrosystems、Oracle(BEA)以及其他公司都生产了他们自己的JVM。然而,所有JVM都不是完全相同的。尽管生产JVM的厂商,使用“Java”商标必须遵循SunMicrosystems公司发布的约定,但是这些JVM的实现方式是不同的——这些区别会影响性能。例如,图4-2显示了一个基准的结果,该基准用于测量使用不同JVM的数据库应用程序的吞吐量和可伸缩性。该基准使用相同的JDBC驱动程序、数据库服务器、硬件以及操作系统运行多次。唯一不同的是JVM。接受测试的JVM是由不同厂商生产的,但是

5、版本相同并具有可比的配置。正如在图4-2中所看到的,每条线代表使用不同JVM的基准运行情况,JVM的吞吐量和可伸缩性可能会相差很大。不仅选择的JVM会影响性能,而且如何配置JVM也会影响性能。每个JVM都有调校选项,这些调校选项能够影响应用程序的性能。例如,图4-3显示了一个基准的结果,该基准使用相同的JDBC驱动程序、数据库服务器、硬件、操作系统以及JVM。该基准比较一个数据库应用程序的吞吐量和可伸缩性。然而,首先配置JVM以客户端模式运行,然后配置JVM以服务器模式运行(更多信息,请阅读4.1.1节中的“客户端模式与服务器模式”部分)。正如

6、所看到的,以服务器模式运行的JVM的吞吐量和可伸缩性明显优于以客户端模式运行的JVM。图4-2比较不同的JVM管理资源吧·管理人自己的下载网站海量管理资源免费下载!图4-3比较JVM配置可以通过设置以下JVM通用选项,调校数据库应用程序的性能:●垃圾收集●客户端模式与服务器模式性能提示选择能够为数据库应用程序提供最优性能的JVM。此外,调校选项,例如针对垃圾收集的选项以及客户端模式与服务器模式选项,可以提高性能。1.垃圾收集C++需要直接控制内存的分配和释放,而Java使这一过程更加自动化了。当Java应用程序运行时,它创建所使用的生命周期不固

7、定的Java对象。当Java应用程序使用完该对象后,它停止引用该对象。JVM从称之为Java堆(Javaheap)的预留内存池中,为Java对象分配内存。这意味着在任意时刻,堆可能为以下对象分配了内存:●应用程序正在使用的活动对象●应用程序不再使用(不再引用)的“死”对象因为堆为两种类型的对象和不断创建的新对象维护内存,最终堆中的内存会被耗尽。当堆中的内存耗尽时,JVM运行一个称之为垃圾收集器(garbagecollector)的程序,清除死对象并释放内存,从而使堆具有足够的内存分配给新对象。为什么垃圾收集与性能有关呢?不同的JVM使用不同的垃

8、圾收集算法,但是当垃圾收集器执行它的收集程序时,大多数垃圾收集器暂停为对象分配内存,同时高效地“冻结”管理资源吧·管理人自己的下载网站海量管理资源免费

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。