`
lydawen
  • 浏览: 472235 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

系统配置导致的应用连接池连接oracle时间长的问题解决

阅读更多

  最近现场工程师反馈过来,过一段时间我们提供给外部的接口(http post xml)响应速度需要1分钟甚至1分多钟,因为都是内网,考虑到在公司PC上的测试情况,基本1秒以内都能返回响应。

  因为这个实现里需要连接外部系统,从外部系统查询到数据后再到数据库做一些查询。于是在调外部系统这加了个处理时间日志,再对数据库查询加上处理时间日志。结果现场反馈过来的日志发现调外部接口开销300ms,算是正常值,而三次数据库查询第一次开销了40秒,接下来两个开销20ms,10ms,后面两都是正常值。因为这三个表的数据都不超过千条,开始怀疑是网络或数据库问题了。

  查看应用启动日志,因为使用的apache的数据源,发现自spring(实际为hibernate)日志提示开始拿sessionFactory到输出数据库版本信息,这里足足花了1分半,而在公司的PC机上仅需1-2秒。

  于是问题就转到了网络或数据库上。从应用机ping数据库机返回正常,从其它机器sqlplus连数据库也正常,将应用换机器部署后,也是正常,正肯定了应用机配置有问题。后来经另一同事提醒,现场同事将应用机的nsswitch中的dns删除后,数据库连接获取就正常了。

 

分享到:
评论
2 楼 lydawen 2011-04-02  
<div class="quote_title">魔力猫咪 写道</div>
<div class="quote_div">应用机的nsswitch中的dns为什么会造成问题呢?是否能解释一下。</div>
<p> </p>
<p> <span style="font-size: small;">我们修改的配置是:</span></p>
<p><span style="font-size: small;">hosts: files </span><span style="text-decoration: line-through;"><span style="font-size: small;">dns</span><br></span><span style="font-size: small;">将dns删除了。因为都是内网,这里会先通过hosts来解析数据库机器,但hosts中并无对应配置,所以转而使用dns反向解析,但dns也通不过,就会一直等待dns返回超时失败,这里开销了较多时间,将dns删除后即解决此问题。关于这些配置还请多查阅资料。 </span></p>
1 楼 魔力猫咪 2011-04-02  
应用机的nsswitch中的dns为什么会造成问题呢?是否能解释一下。

相关推荐

    数据库连接池在Oracle数据库中的实现.docx

    数据库连接池在Oracle数据库中的实现是一项关键的技术优化策略,它主要解决了基于JDBC(Java Database Connectivity)的应用程序在处理数据库连接时的效率问题。在传统的数据库应用中,每次请求都需要建立一个新的...

    Oracle数据库的连接池

    Oracle数据库的连接池是数据库管理中的一个重要概念,它允许应用程序高效地管理和重用数据库连接,以提高系统的性能和响应速度。C3P0是一个开源的Java连接池实现,专为Oracle数据库和其他支持JDBC的数据库设计。这个...

    oracle 最大连接数问题

    通过对上述问题的深入分析和尝试不同的解决方案,可以发现操作系统和数据库配置的不当是导致连接数受限的主要原因。通过合理的参数调整和必要的系统升级,可以有效解决 Oracle 数据库连接数受限的问题,从而提高系统...

    Oracle-Driver(支持c3p0等连接池)

    可能包括如何配置c3p0连接池参数,如何在代码中加载和初始化驱动,以及可能遇到的问题和解决方案。例如,开发者可能需要设置数据源类名(com.mchange.v2.c3p0.ComboPooledDataSource)、数据库URL、用户名、密码,...

    weblogic配置sql数据连接池

    通过预建的连接池,应用程序可以快速获取到已经存在的数据库连接,使用完毕后归还而不是关闭,提高了系统的响应速度和并发处理能力。 二、配置步骤 1. 登录WebLogic管理控制台:首先打开浏览器,输入WebLogic ...

    Unidac连接池

    3. **错误处理**:正确处理连接异常,防止因个别连接问题导致整个连接池失效。 4. **事务管理**:在使用连接池时,需注意事务的范围和隔离级别,避免长时间持有连接。 总的来说,Unidac连接池是提高数据库应用性能...

    Java jdbc数据库连接池总结

    3. 连接池的配置:连接池的配置是非常重要的,需要根据实际情况进行配置,如设置连接池的最大连接数、最小连接数、超时时间等。 Java JDBC 数据库连接池技术可以解决频繁的数据库连接操作对系统资源的占用,提高...

    C#高效数据库连接池源码

    - **超时管理**:连接池需要监控每个连接的空闲时间,避免因长时间未使用的“僵尸”连接占用资源。 - **线程安全**:在多线程环境下,连接池必须确保并发安全,防止数据竞争和同步问题。 6. **性能优化**: - **...

    数据库连接池查询

    在实际应用中,通过合理配置连接池参数,可以显著提高系统的并发处理能力和响应速度。 #### 二、数据库连接数过多的问题及解决方案 当系统中存在大量的数据库连接请求时,可能会导致连接数过多的情况发生。这种...

    Tomcat配置连接池说明

    这里配置了一个名为`jdbc/pip`的Oracle数据库连接池,其中`maxActive`参数定义了最大活动连接数,`maxIdle`参数定义了最大空闲连接数,`maxWait`参数定义了等待新连接的最大时间。 #### 2. 修改web.xml文件 web....

    JDBC连接Oracle数据库常见问题及解决方法

    "JDBC连接Oracle数据库常见问题及解决方法" 本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用...

    OracleDbcp连接池jar包

    总的来说,OracleDbcp连接池是Java应用与Oracle数据库交互时的一个高效工具,通过合理的配置和使用,能有效提高系统性能,降低资源消耗。在实际开发中,开发者应根据项目的特性和需求选择合适的连接池组件,并进行...

    配置数据库连接池的说明

    本文将详细介绍如何在Java环境中配置三大主流数据库(MySQL、Oracle、SQL Server)的连接池,并结合实例代码进行深入解析。 #### 二、基础知识 **数据库连接池**是一种管理数据库连接的技术,它可以复用预先创建好...

    Oracle+数据库例子(数据库连接池+中文乱码+留言板+过滤器)

    在ch8数据库连接池这个章节中,你可以找到如何配置和使用数据库连接池的示例代码,这对于优化Web应用程序的性能至关重要。 其次,"解决中文乱码"是Web开发中常遇到的问题。由于字符编码不一致,可能导致中文显示为...

    DELPHI7写的ADO连接池

    DELPHI7编写的ADO连接池是数据库应用开发中的一个重要技术,它主要用于管理和优化数据库连接,提高系统性能并防止可能出现的死锁问题。在多用户同时访问SQL数据库时,如果没有有效的连接管理,可能会出现资源竞争,...

    Hibernate连接池的三种配置方式

    标题中的“Hibernate连接池的三种配置方式”指的是Hibernate框架中...同时,连接池还提供了监控功能,可以帮助开发者监控连接池的状态,如活动连接数、等待队列长度、连接创建和释放频率等,以便于及时发现并解决问题。

    dbcp数据连接池配置

    数据库连接池是应用程序管理数据库连接的一种方式,通过复用已建立的数据库连接,避免频繁创建和销毁连接带来的性能开销。在使用DBCP时,正确配置数据源类是非常关键的,这直接影响到数据库连接的效率和系统的稳定性...

    poolman 数据库连接池

    PoolMan作为Java的数据库连接池解决方案,提供了丰富的功能和良好的性能,对于提升Java应用的数据库访问效率和稳定性具有重要意义。在实际项目中,正确配置和使用PoolMan,可以显著提高系统的运行效率,降低资源消耗...

Global site tag (gtag.js) - Google Analytics