Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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比在AWS EC2实例上运行API慢得多?_Java_Amazon Web Services_Amazon Ec2 - Fatal编程技术网

Java 为什么在本地主机上运行API比在AWS EC2实例上运行API慢得多?

Java 为什么在本地主机上运行API比在AWS EC2实例上运行API慢得多?,java,amazon-web-services,amazon-ec2,Java,Amazon Web Services,Amazon Ec2,我是一名新的Java开发人员,我一直在开发一个小应用程序,用于跟踪我在学校的跑步里程。后端是Java,服务器最紧张的操作是获取所有队友的列表,然后找到他们上周的里程数总和,并按从高到低的顺序排列。当我在本地主机上运行时调用此端点时,这花费了11.5秒!我发现在平行流中,它的时间下降到了8.5秒左右,但我仍然担心这太长了。我将新JAR上传到AWSEC2实例,不到一秒钟!所以我的问题是,为什么我的本地主机(四核i7 7600k,16gbram)在相同的操作中比AWS EC2实例慢那么多?EC2实例连

我是一名新的Java开发人员,我一直在开发一个小应用程序,用于跟踪我在学校的跑步里程。后端是Java,服务器最紧张的操作是获取所有队友的列表,然后找到他们上周的里程数总和,并按从高到低的顺序排列。当我在本地主机上运行时调用此端点时,这花费了11.5秒!我发现在平行流中,它的时间下降到了8.5秒左右,但我仍然担心这太长了。我将新JAR上传到AWSEC2实例,不到一秒钟!所以我的问题是,为什么我的本地主机(四核i7 7600k,16gbram)在相同的操作中比AWS EC2实例慢那么多?EC2实例连接到运行MySql的RDS实例,谢谢

我也有同样的问题。这可能是往返时间,而不是处理时间。我的笔记本电脑在英国,我所有的AWS服务都在us-east-1


应用程序中的一个“操作”可能涉及到几次AWS服务的往返,例如向Cognito发送令牌,从DynamoDB获取一些数据,然后根据第一次响应获取更多数据等。这都涉及到从英国到美国的几次往返。您的服务器可能与您称之为RTT的服务位于同一位置。

您的数据存储在哪里?它在AWS的数据库中吗?有多少队友和单独的里程数据点?你有什么类型的AWS EC2实例?您是否从本地计算机连接到远程RDS实例?当您在localhost上运行它时,是否有其他依赖项(如数据库等)不在localhost上?请在您的问题中添加详细信息,以帮助其他用户更好地理解和帮助您。我运行的是t2.micro实例,8GiB,区域是us-east-2,我的数据库是运行MySql的AWS关系数据库。主团队中大约有40名队友,但我有几个“测试”团队,其中大约有5名用户,当时也在列表中。我想可能是这样,但我住在中西部(“美国天桥区”),所以我离我所有的AWS服务都很近,没想到差别会那么大!如果您想进一步调查,可以为流程的不同部分创建一个计时器,并将其打印到日志中,然后比较本地和服务器。不管怎样,你的项目做得很好,听起来你为一个新开发人员做了一件很棒的工作。