我有一个Python脚本,它使用REST API以10MB块的形式向服务器发送4GB的数据。无论我同时调用多少这些脚本,我都得到完全相同的整体吞吐量客户端(10Gb网络,服务器类系统):
1次调用= 300MB / s
2次调用= 300MB / s
4次调用= 300MB / s
8次调用= 300MB / s
起初我虽然它是某种磁盘读取限制,但我修改了脚本,因此它不需要硬盘驱动器访问并使用最少的内存,我仍然得到完全相同的吞吐量。执行期间的CPU和内存使用量很小。
进一步研究,我读到Python解释器是单线程的。这很好(我猜是有意义的),但是有可能一次只调用一个Python解释器实例,尽管同时调用了多个Python脚本吗?
答案 0 :(得分:1)
不,单独执行的多个python进程不会共享线程或任何其他状态。
最可能的情况是,300MB / s是客户端可以支持的最快速度,或者是服务器可以支持的最快速度。
300MB / s是非常快的,所以我想知道你是否还没有将兆字节与兆比特混淆。