Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java API将文件上载到GCS时CPU使用率高_Java_Ssl_Google Cloud Storage - Fatal编程技术网

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

使用Java API将文件上载到GCS时CPU使用率高,java,ssl,google-cloud-storage,Java,Ssl,Google Cloud Storage,有谁能告诉我为什么在Java中将文件上传到GCS时,com.sun.crypto.provider.GHASH#update(byte[],int,int)会占用大量CPU 这是密码 看起来像是一些内部SSL操作,但是,SSL不应该引起太多的CPU消耗 环境规格: java版本“1.8.0_45” Java热点(TM)64位服务器虚拟机(构建) 25.45-b02,混合模式) Ubuntu精确版(12.04.3 LTS) 已试用google api版本: google.api:googleap

有谁能告诉我为什么在Java中将文件上传到GCS时,
com.sun.crypto.provider.GHASH#update(byte[],int,int)
会占用大量CPU

这是密码

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

环境规格:

java版本“1.8.0_45”

Java热点(TM)64位服务器虚拟机(构建) 25.45-b02,混合模式)

Ubuntu精确版(12.04.3 LTS)

已试用google api版本:

google.api:googleapi服务存储:v1-rev26-1.19.1

google.api:googleapi服务存储:v1-rev33-1.20.0


事实上,切换到
Java1.7.0\u80-b15
解决了这个问题。 即使sun的加密方法

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

他们仍然是CPU消费者中的佼佼者,对于这个版本,他们要温和得多


类似的问题也发生在亚马逊SDK上

将jdk8升级到u115(比u60旧)提高了我们的AWS SDK性能~4-5x

所以我想强调的是,这是一个普遍的性能问题,而不是特定于GCPSDK(或AWS)


很有趣。您使用的是哪个版本的Java?谷歌搜索表明,某些版本的Java8在该功能上有一些奇怪的性能退化。@BrandonYarbrough添加了一些环境规范。具有讽刺意味的是,Java7不再是supported@BrandonYarbrough我们是否有可能绕过此功能,以其他api或不同的上载配置上载到GCS?