You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多望远镜天体测光软件多线程HTTP图像数据传输过慢求助

多望远镜HTTP数据传输性能瓶颈问题

我正在开发多望远镜天体测光软件,搭建了一台可通过HTTP协议控制多台望远镜的母机。为实现同步操作,尝试使用多线程同时控制10台望远镜,但从10台望远镜获取图像数据时(单台110MB,总计约1.2GB),数据传输速度远低于预期。

网络配置:母机10G连接,每台望远镜1G连接,预期10台同时传输时速度约9Gbps,实际仅达到1.5Gbps。

为定位问题,提取代码片段测试耗时:

import requests
import time
from astropy.time import Time
from threading import Thread

def request_imagearray(cam):
    client_trans_id = 1
    client_id = 1
    attribute = 'imagearray'

    url = f"{cam.device.base_url}/{attribute}"
    hdrs = {'accept' : 'application/imagebytes'}
    # Make Host: header safe for IPv6
    if(cam.device.address.startswith('[') and cam.device.address.startswith('[::1]')):
        hdrs['Host'] = f'{cam.device.address.split("%")[0]}]'
    pdata = {
            "ClientTransactionID": f"{client_trans_id}",
            "ClientID": f"{client_id}" 
            }         

    print('START:',Time.now(), cam.device.address)
    start = time.time()
    response = requests.request("GET","%s/%s" % (cam.device.base_url, attribute), params=pdata, headers=hdrs, verify = False)

    print('consumed time:', time.time() - start, cam.device.address)

unitnumlist = [1,2,3,5,6,7,8,9,10,11]
camlist = []
for unitnum in unitnumlist:
    #camlist.append(mainCamera(unitnum))
    Thread(target = request_imagearray, kwargs = dict(cam = mainCamera(unitnum))).start()

输出结果如下:

START: 2024-04-15 07:49:59.067946 10.0.106.6:11111
START: 2024-04-15 07:49:59.382973 10.0.106.7:11112
START: 2024-04-15 07:49:59.541495 10.0.106.8:11113
START: 2024-04-15 07:49:59.647055 10.0.106.10:11111
START: 2024-04-15 07:49:59.788433 10.0.106.11:11111
START: 2024-04-15 07:49:59.897876 10.0.106.12:11111
START: 2024-04-15 07:50:00.009254 10.0.106.13:11111
START: 2024-04-15 07:50:00.157893 10.0.106.14:11111
START: 2024-04-15 07:50:00.347704 10.0.106.16:11111
START: 2024-04-15 07:50:00.544626 10.0.106.9:11111
consumed time: 5.96204686164856 10.0.106.6:11111
consumed time: 7.304373502731323 10.0.106.7:11112
consumed time: 7.58618688583374 10.0.106.8:11113
consumed time: 7.617574453353882 10.0.106.10:11111
consumed time: 7.678117990493774 10.0.106.11:11111
consumed time: 7.76300311088562 10.0.106.12:11111
consumed time: 7.636215925216675 10.0.106.14:11111
consumed time: 7.785021066665649 10.0.106.13:11111
consumed time: 7.338518857955933 10.0.106.9:11111
consumed time: 11.309057235717773 10.0.106.16:11111

实际耗时远超预期的约3秒,虽多线程同时发起request.get请求,但数据并未实现同时传输。


内容的提问来源于stack exchange,提问作者Hyeonho Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 02:45:55