他们都有2vcpus和8G ram。 但是使用t2.large,你只能使用单个vcpu的60%,两个vcpus的平均值都是30%。即使考虑“cpu credits”,t2.large似乎远比m4.large弱。
答案 0 :(得分:9)
import tkinter
root = tkinter.Tk()
root.geometry("300x300")
root.title("Try code")
entry = tkinter.Entry(root)
entry.pack()
def on_button():
if entry.get() == "Screen""screen":
slabel = tkinter.Label(root, text="Screen was entered")
slabel.pack()
else:
tlabel = tkinter.Label(root, text="")
tlabel.pack()
button = tkinter.Button(root, text="Enter", command=on_button)
button.pack()
root.mainloop()
实例与t2
实例之间的主要区别在于m4
实例的突发性质。 (见T2 instance type documentation。)
虽然这些计算机具有相似的规格,但正在爆发的t2
实例的性能比t2.large
实例高出约<60%。。但是,如果实例耗尽信用,则其性能将受到限制。
有关说明,请参阅AWS re:Invent 2016的T2: From Startups to Enterprise, Performance for a Low Cost演示文稿。不同之处在演示文稿的7m:30s点进行了解释:
答案 1 :(得分:0)
我本人对此进行了研究,无论您到哪里,每个人都在谈论爆裂。
但是事实是例如t2.large
和m4.large
完全相同或大致相同。这意味着即使您在t2
上爆裂,您也可以获得与m4
上相同的效果。
但是,正如John Rotenstein所链接的视频所示,AWS声称您在t2
上的性能仍然提高了60%。这是由于AWS定义vCPU
的方式略有不同。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html
每个vCPU都是CPU核心的线程,T2实例除外。
因此,在m4
上,vCPU
只是一个线程,而在t2
上,您将获得一个完整核心。< br />
2 vCPUs
上的m4
只是 1个具有2个线程的内核,而t2
上的是{strong> 2个完整的内核,但没有超线程。>
阅读/proc/cpuinfo
时可以看到此内容。我使用此script使其更易于阅读:
t2.large:
CPU型号:Intel(R)Xeon(R)CPU E5-2676 v3 @ 2.40GHz 1 CPU,
每个CPU 2个物理核心,总共2个逻辑CPU单元
m4.large:
CPU型号:Intel(R)Xeon(R)CPU E5-2686 v4 @ 2.30GHz 1 CPU,
每个CPU 1个物理核心,总共2个逻辑CPU单元
因此,根据您的应用程序,在1个内核上使用2个超线程线程可能会导致与2个内核相同的性能,在其他用例中,这2个内核的性能最高可提高60%。
因此,似乎没有人提到或知道的这个小笔记在他们的文档中有所作为。 希望这能解决它。