当前位置: 首页 > news >正文

网站建设专业术语app网站建设一般多少钱

网站建设专业术语,app网站建设一般多少钱,百度免费官网入口,公司做公司网站广告在本文中,主要测试并比较了Go—Gin和Rust—Actix之间的多部分文件上传性能。 设置 所有测试都在配备16G内存的 MacBook Pro M1 上执行。 软件版本为: Go v1.20.5Rust v1.70.0 测试工具是一个基于 libcurl 并使用标准线程的自定义工具,能…

img

在本文中,主要测试并比较了Go—Gin和Rust—Actix之间的多部分文件上传性能。

设置

所有测试都在配备16G内存的 MacBook Pro M1 上执行。

软件版本为:

  • Go v1.20.5
  • Rust v1.70.0

测试工具是一个基于 libcurl 并使用标准线程的自定义工具,能够发送多部分请求。

资产目录中有 100,000 个文件。每个文件的大小都是确切的 100K。这些文件数量在测试工作线程之间进行分配。同一个文件不会一遍又一遍地上传。工作线程会循环处理分配给它们的文件。一旦它们处理完所有分配的文件,它们就会回到第一个文件重新开始。

每个请求携带两个文件作为多部分请求体。请求的头部和体部大致如下:

// -- Headers{"content-length": "205150","content-type": "multipart/form-data; boundary=------------------------3f6a15690b315b91",
}// -- Body--------------------------3f6a15690b315b91
Content-Disposition: form-data; name="files"; filename="45469"
Content-Type: application/octet-stream<<File suppressed>>
--------------------------3f6a15690b315b91
Content-Disposition: form-data; name="files"; filename="42102"
Content-Type: application/octet-stream<<file suppressed>>
--------------------------3f6a15690b315b91--

代码

Go

package mainimport ("github.com/gin-gonic/gin""github.com/jaevor/go-nanoid"
)func main() {dst := "/Users/mayankc/Work/source/perfComparisons/uploads/"canonicID, err := nanoid.Standard(21)if err != nil {panic(err)}router := gin.New()router.POST("/upload", func(c *gin.Context) {form, _ := c.MultipartForm()files := form.File["files"]for _, file := range files {c.SaveUploadedFile(file, dst+canonicID())}c.Writer.WriteHeader(201)})router.Run(":3000")
}

Rust

use actix_multipart::{form::{tempfile::{TempFile, TempFileConfig},MultipartForm,}
};
use actix_web::{middleware, web, App, Error, HttpResponse, HttpServer, Responder};
use nanoid::nanoid;const BASE_DIR: &str = "/Users/mayankc/Work/source/perfComparisons/uploads/";#[derive(Debug, MultipartForm)]
struct UploadForm {#[multipart(rename = "files")]files: Vec<TempFile>,
}async fn save_files(MultipartForm(form): MultipartForm<UploadForm>,
) -> Result<impl Responder, Error> {for f in form.files {let path = format!("{}{}", BASE_DIR, nanoid!());f.file.persist(path).unwrap();}Ok(HttpResponse::Ok())
}#[actix_web::main]
async fn main() -> std::io::Result<()> {HttpServer::new(|| {App::new().wrap(middleware::Logger::default()).app_data(TempFileConfig::default().directory(BASE_DIR)).service(web::resource("/upload").route(web::post().to(save_files)),)}).bind(("127.0.0.1", 3000))?.run().await
}

Rust代码已在release mode下编译。

结果

对10个、50个和100个并发连接执行测试。每个测试总共执行10万个请求。
以下是结果:

img

img

结论

从结果中使用以下公式生成了一个评分表。对于每个测量,获取获胜的幅度。如果获胜幅度为:

  • < 5%,不给予任何分数
  • 在 5% 和 20% 之间,给予获胜者 1 分
  • 在 20% 和 50% 之间,给予获胜者 2 分
  • > 50%,给予获胜者 3 分

img

img

http://www.dtcms.com/a/572072.html

相关文章:

  • 深圳网站制作公司兴田德润怎么样aso应用优化
  • 大兴安岭网站建设公司Wordpress写文章刷不开
  • 网站设计论文前言怎么写做网站都需要了解什么
  • 微信群公告如何做网站链接万网买的网站备案吗
  • 腾讯云学生怎么做网站的哪家上市公司做视频网站
  • google网站网络推广方法有哪些
  • 排版的网站桂林生活网新闻
  • 自己做微信电影网站怎么做搜索引擎如何找到网站
  • 心悦俱乐部官方网站怎么做任务微信小程序怎么关闭防沉迷
  • 固镇网站建设哪家好seo刷排名软件
  • 如何腾讯云二级域名做网站房地产信息网新楼盘
  • 介绍一个电影的网站模板网站建设功能文案
  • 湖北住房和城乡建设厅官方网站网站分成推广怎么做
  • 潍坊市企业型网站建设简单的房源展示网站开发
  • 西部数码网站正在建设中是什么意思建设网站要注意哪些
  • 做网站用框架好吗工信部官网备案查询系统
  • 站长工具seo综合查询权重网站建设市场调查报告
  • 做商品网站数据库有哪些seo及网络推广
  • 做网站工资多少钱企查查 天眼查
  • html个人网站制作互联网做什么比较赚钱
  • 一个网站每年维护费用长沙网络营销顾问
  • 怎么自己开个免费网站王也道长高清头像黑白
  • 提供企业网站建设wordpress 管理员
  • 河南省住房和城乡建设局网站网站建设开票内容是什么
  • 手机网站用二级目录做的弊端怎么做夜场网站
  • 网站制作的评价指标中影视公司需要的许可证
  • 建设工程质量检测机构主管网站wordpress使用百度分享插件下载
  • 深圳营销型网站建设电话外包开发app需要多少钱
  • 网站设计服务商长沙官网网站推广优化
  • erp办公系统软件网站怎样做有利于seo