java - 使用 Java API 将文件上传到 GCS 时 CPU 使用率过高

标签 java ssl google-cloud-storage

任何人都可以建议 com.sun.crypto.provider.GHASH#update(byte[], int, int) 在将文件上传到 GCS 时占用大量 CPU 的原因是什么Java?

Here是代码。

看起来像是一些内部 SSL 操作,但是,SSL 应该不会消耗太多 CPU。

Complete stacktrace with timings

环境规范:

java version "1.8.0_45"

Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Ubuntu precise (12.04.3 LTS)

尝试过的 google api 版本:

com.google.apis:google-api-services-storage:v1-rev26-1.19.1

com.google.apis:google-api-services-storage:v1-rev33-1.20.0

最佳答案

确实,切换到 Java 1.7.0_80-b15 已经解决了这个问题。 尽管 sun 的加密方法,例如

com.sun.crypto.provider.ARCFOURCipher.engineUpdate(字节[], int, int, byte[], int) ARCFOURCipher.java 12104 12104

仍然处于 CPU 消费者的顶端,他们在这个版本中要温和得多。

Link to related bug in JDK

关于java - 使用 Java API 将文件上传到 GCS 时 CPU 使用率过高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30041497/

相关文章:

ssl - 将 Godaddy SSL 添加到 AWS EC2 实例

node.js - 云存储连接域与API服务器

java - 如何将用户字符串输出存储到 String[] 数组中

执行 swing 客户端时出现 java 内存不足错误

java - DbUnit 没有看到 Oracle 列 NoSuchColumnException

java - Google Cloud Storage 和服务帐户出现 invalid_grant 错误

使用 Cloud Shell 将 CSV 从 Cloud Storage 导入到 Cloud SQL

java - 如何按升序设置数字(示例 : 0, 1, 2, 4, 6 至 0, 1, 2, 3, 4)

macos - 生成自签名 SSL 证书,权限错误 (OSX)

mysql - 如何使用 ssl 连接 mydumper?