项目简介
本项目借助Python的并发和并行处理机制,对比不同模式下多个国家国旗图片的下载执行速度。通过全面测试不同并发和并行方式的性能,为后续编码模块选择提供可靠参考。
项目的主要特性和功能
- 多种执行模式:具备常规顺序执行、多进程模块
Multiprocessing
、多线程模块Multithreading
、异步模块asyncio
以及并行concurrent.future
模块(含ProcessPoolExecutor
和ThreadPoolExecutor
)五种模式,展示不同并发并行特点。 - 数据下载与保存:从指定URL下载多个国家国旗图片并保存到本地指定目录。
- 性能测试:对下载20个国家和全部194个国家国旗图片的场景分别测试,每种模式运行5次,记录最低值、最高值和平均值,方便对比性能。
- 服务器搭建:提供Docker镜像搭建简易服务器,模拟真实服务器环境进行高数据量测试,避免对
flupy
服务器造成压力。
安装使用步骤
- 已下载本项目的全部源代码文件,包含Python脚本和Docker镜像文件。
- 确保系统已安装Python及其标准库,
asyncio
和concurrent.futures
等模块为Python标准库的一部分,无需额外安装。 - 运行脚本:
- 直接运行各个Python脚本,对比不同并发/并行处理方式下的国旗图片下载速度。
- 可根据需求修改脚本中的
BASE_URL
、POP20_CC
和BASE_FILE
等常量,适配特定国旗图片服务器和下载目录。
- 若需进行高数据量测试,使用Docker镜像搭建本地服务器。进入
docker_server
文件夹,执行docker build -t image_name .
创建镜像,再执行docker run -d -p 8999:8999 --name container_name image_name
运行容器。容器运行成功后,通过服务器地址:8999
访问服务器。 - 依据每个脚本的输出信息,分析并比较不同处理方式的下载速度,为后续编码选择合适的模块。
注意:高数据量测试时,为避免对 flupy
服务器造成不必要的负载,建议在自搭建的服务器上进行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】