编程语言
首页 > 编程语言> > 使用Java API将文件上传到GCS时CPU使用率很高

使用Java API将文件上传到GCS时CPU使用率很高

作者:互联网

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

代码是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(byte [],int,int,byte [],int)ARCFOURCipher.java 12104 12104

仍然是CPU使用者的最高端,因此使用此版本的用户要适度得多.

Link to related bug in JDK

标签:google-cloud-storage,ssl,java
来源: https://codeday.me/bug/20191028/1951964.html