使用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使用者的最高端,因此使用此版本的用户要适度得多.
标签:google-cloud-storage,ssl,java 来源: https://codeday.me/bug/20191028/1951964.html