我有一个 .jar 文件,它代表一个服务器,该服务器通过 TCP 接收一个以字节为单位的图像(大小最多为 500 kb)并将其写入文件。然后,它对该图像进行编码并通过 TCP 套接字将其发送到客户端。
我在笔记本电脑上运行了它,速度非常快。但是当我把它放在 Amazon EC2 服务器 m1.large 实例上时,我发现它非常慢 - 大约慢了 10 倍。这可能是代码算法效率低下,但实际上我的代码只是接收图像(像任何字节文件一样)运行 sobel 算法并发送。
我有以下问题:
1- 这是 Amazon EC2 服务器的正常性能吗?我已阅读以下链接链接1和链接2
2-即使代码不是那么高效,服务器最终处理的负载也很低(仅一个客户端),“低效”的代码是否能证明这样的性能?
3- 我的笔记本电脑只有双核...为什么亚马逊 ec2 服务器的性能比我的笔记本电脑差?这该如何解释?
请原谅我的无知。
答案1
就像 djangofan 所说的那样,我发现 AWS 服务器的性能与物理服务器相当。您可以尝试使用以下方法对服务器 jar 进行性能分析可视化虚拟机(如果您通过远程桌面进入 Windows 实例,这应该相当简单)。