osx 上的 spring-ws/hibernate 应用程序缓慢
Slow spring-ws/hibernate application on osx
最近我拿到了我的 mac 新书。我从 Windows 笔记本电脑移植我的 java 项目(spring 4/hibernate 5/spring-ws/spring-security/tomcat/ojdbc)。直到昨天一切正常。所有请求都需要很长时间才能进行。通常来自 spring-ws 端点的响应不到 1 秒(通过 vpn 使用远程 oracle 数据库)。现在大约是16s。当我在应用程序中关闭 spring-security(用户使用相同的数据库,通过基本的 http 身份验证检查每个 soap 请求)时,我可以将响应降低到 6s。
关闭 spring-安全性(6 秒响应)我打开 hibernate.stat 的日志记录并发现 jdbc 连接在大约 5.5 秒内建立。
我不明白发生了什么。 mac 之前的响应很好,早上申请重新部署后速度变慢了。我尝试了不同的 tomcat 安装,本地数据库,甚至重新安装我的 mac,完全没有变化。
编辑:我 运行 在 Windows 笔记本电脑上并行应用,在 Windows
上没有问题
编辑 2:我使用简单的 jdbc 连接创建控制台 java 应用程序,建立连接大约需要 5 秒。看来是网络问题。
编辑 3:我将 oracle 切换为 postgresql 数据库(同一服务器),postgre 运行良好。 Oracle 仍然很慢。
终于明白问题出在哪里了。正如我在编辑 2 中所说,它与网络相关。我的名称服务器配置不正确。所以我有两个选择:
- 编辑 /etc/resolv.conf 并设置正确的名称服务器 ip 或配置名称服务器本身
- disable/comment /etc/resolv.conf 名称服务器并将 db ip/host 添加到 /etc/hosts
最近我拿到了我的 mac 新书。我从 Windows 笔记本电脑移植我的 java 项目(spring 4/hibernate 5/spring-ws/spring-security/tomcat/ojdbc)。直到昨天一切正常。所有请求都需要很长时间才能进行。通常来自 spring-ws 端点的响应不到 1 秒(通过 vpn 使用远程 oracle 数据库)。现在大约是16s。当我在应用程序中关闭 spring-security(用户使用相同的数据库,通过基本的 http 身份验证检查每个 soap 请求)时,我可以将响应降低到 6s。
关闭 spring-安全性(6 秒响应)我打开 hibernate.stat 的日志记录并发现 jdbc 连接在大约 5.5 秒内建立。
我不明白发生了什么。 mac 之前的响应很好,早上申请重新部署后速度变慢了。我尝试了不同的 tomcat 安装,本地数据库,甚至重新安装我的 mac,完全没有变化。
编辑:我 运行 在 Windows 笔记本电脑上并行应用,在 Windows
上没有问题编辑 2:我使用简单的 jdbc 连接创建控制台 java 应用程序,建立连接大约需要 5 秒。看来是网络问题。
编辑 3:我将 oracle 切换为 postgresql 数据库(同一服务器),postgre 运行良好。 Oracle 仍然很慢。
终于明白问题出在哪里了。正如我在编辑 2 中所说,它与网络相关。我的名称服务器配置不正确。所以我有两个选择:
- 编辑 /etc/resolv.conf 并设置正确的名称服务器 ip 或配置名称服务器本身
- disable/comment /etc/resolv.conf 名称服务器并将 db ip/host 添加到 /etc/hosts