倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践

简介: 倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。

简介

Nginx是一款高性能的开源Web服务器和反向代理服务器,它可以处理大量的并发连接,同时还支持负载均衡、动态HTTP内容缓存和压缩,以及支持SSL和TLS加密。NGINX可以提供非常高的性能和可靠性,是世界上领先的Web服务器,超过35%的活跃网站是基于NGINX的。对比Apache Httpd、NodeJS、PHP、Tomcat等Web 服务方案,NGINX具有更高并发能力、性能和可靠性。

以下我们在阿里云 ECS基于 G8y 实例(基于 Armv9 的倚天 710 处理器)和 G7 实例(基于最新一代x86处理器)对NGINX的吞吐量做了测试对比,评估了倚天ECS性能优势。

基础环境

我们使用开源的wrk作为负载生成器和性能基准测试工具,wrk部署在单独的G8y.8xlarge ECS实例上;

服务端使用两种类型阿里云ECS 2xlarge实例,部署了NGINX,并配置8个worker。

图1. NGINX 测试模型

两种被测ECS实例类型配置如下:

Processor

ECS type

CPU

Memory

Disk

倚天710

G8y.2xlarge

8vcpu

32GB

ESSD PL2 500G

x86处理器

G7.2xlarge

8vcpu

32GB

ESSD PL2 500G

表1. 测试实例配置

ECS硬件信息,通过lscpu查看

[root@Yitian]#

基准测试使用以下软件版本和测试参数。

Component name

Version

NGINX

1.20.1

GCC version

10.2.1 20200825 (Alibaba 10.2.1-3 2.32)

Wrk

4.0.2

Operating System

Alibaba Cloud Linux 3.2104 LTS

Test config parameter

Value

Number of threads

32

Number of connections

1000

表2. 软件版本和测试参数

测试方案

配置 /etc/nginx/nginx.conf 修改

}

测试文件

--latency

性能优化

网络优化

  • RPS

RPS(Receive Packet Steering)收包中断亲和性,在内核态中通过软件方式把softIRQ的均衡到各个CPU。未配置RPS时,单个网卡接收IRQ和softIRQ是在同一个CPU上,通过设置RPS,网卡驱动通过四元组生成一个hash,然后根据hash将softirq分配到对应的CPU上进行处理,从而充分发挥倚天710物理多核的能力,进而提高网络性能。

图2. RPS原理示意图

压缩优化

Nginx支持brotli和gzip的压缩算法,在倚天ECS上我们针对gzip做了深度定制优化,以提高gzip算法性能。通过利用倚天710 CPU支持SVE和SVE2 SIMD扩展指令,结合其他优化方案,使得gzip在压缩/解压缩上的显著性能提升。优化后的gzip版本单核下性能相比x86性能1.6倍,多核场景下2.3倍。

  图4. gzip 优化前后性能对比

实测性能

通过上述优化,我们在倚天ECS实例与同规格的x86 ECS 实例进行对比,未开压缩场景NGINX吞吐量性能优势高达 32% ,开启压缩场景下,倚天性能优势达74%。下表中显示的结果是 10次连续测试运行的汇总结果。

NGINX 在 G8y 和 G7 实例上的性能数据。

Test Type

G7.2x 

(Requests/sec)

G8y.2x (Requests/sec)

Performance benifit gain (%)

HTTP persistent connection

937k

1187k

27%

HTTPS persistent connection

623k

820k

32%

表3. (G8y vs. G7) NGINX吞吐量性能数据

开启gzip压缩,测试数据大小9K。

Test Type

G7.2x (Requests/sec)

G8y.2x (Requests/sec)

Performance benifit gain (%)

HTTP persistent connection

with gzip

45.8K

80K

74%

表4. (G8y vs. G7) NGINX开启gzip吞吐量性能数据

Booster

ECS Booster是阿里云针对倚天ECS性能优化研发推出的一键式优化服务产品,针对不同都业务场景通过勾选相应优化配置可以一键开启ECS性能加速功能。NGINX场景下,我们只需在实例创建阶段,选择倚天实例G8y,选择Alinux操作系统,勾选加速选项“nginx加速”即可,如下图所示。

图5. ECS Booster一键加速功能开启

总结

对比x86 ECS,基于倚天710 CPU的G8y ECS示例,具有真正的物理多核,CPU核数和性能增长具有更好的线性度关系,同时倚天ECS 实例具备更好的CPU安全水位,更低的功耗。

在NGINX应用场景下,与同规格的x86 的 ECS 实例相比,倚天ECS 实例表现出了更高的吞吐量性能优势,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 此外,基于倚天710的G8y实例售价比G7实例低23%,更好的性能更低价格,综合性价比超过1.5倍,是Web网关客户降本增效的最佳选择。

好啦!小弹的分享到此为止。我们更欢迎您分享您对阿里云产品的设想、对功能的建议或者各种吐槽,请扫描提交问卷并获得社区积分或精美礼品一份。https://survey.aliyun.com/apps/zhiliao/P4y44bm_8

【扫码填写上方调研问卷】

欢迎每位来到弹性计算的开发者们来反馈问题哦~

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
31 3
|
12天前
|
开发框架 自然语言处理 PHP
PHP在Web开发中的持久魅力与创新实践###
【10月更文挑战第17天】 本文探讨了PHP作为一门老牌却充满活力的编程语言,在现代Web开发中的独特优势和未来趋势。通过分析其简洁性、灵活性、强大生态系统及不断创新的特性,本文旨在揭示PHP为何能持续吸引开发者,并在技术快速迭代的时代保持竞争力。同时,文章也展望了PHP在未来Web开发领域的发展潜力,强调其在技术创新和社区支持下,依然能够引领Web开发的新潮流。 ###
27 9
|
6天前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
20 1
|
11天前
|
存储 弹性计算 编解码
通过阿里云的活动租赁云服务器时如何选择实例规格?选择指南参考
新手用户通过阿里云的活动租赁云服务器的时候实例规格应该怎么选?目前在阿里云的活动中,可选的云服务器类型除了轻量应用服务器之外,云服务器的主要实例规格有经济型e、通用算力型u1和计算型c7与c8y、通用型g7与g8y、内存型r7与r8y等实例,但是对于新手来说,由于是初次购买,实例规格往往不知道怎么选择了。本文为大家展示阿里云目前活动中各云服务器实例规格性能、适用场景以及选择指南参考。
|
15天前
|
弹性计算 开发框架 .NET
阿里云服务器购买教程及云服务器地域、实例、操作系统、带宽等参数选择指南
对于初次购买阿里云服务器的用户来说,想使用阿里云服务器搭建网站或者运行APP、小程序等项目,第一步就是要先购买阿里云服务器,下面小编以图文形式给大家介绍一下阿里云服务器的购买流程,以及购买过程中如何云服务器地域、实例、带宽等关键配置和选择这些参数的一些注意事项,以供参考。
|
16天前
|
存储 安全 数据库
后端技术在现代Web开发中的实践与创新
【10月更文挑战第13天】 本文将深入探讨后端技术在现代Web开发中的重要性,通过实际案例分析展示如何利用先进的后端技术提升用户体验和系统性能。我们将从基础架构设计、数据库优化、安全性保障等方面展开讨论,为读者提供清晰的指导和实用的技巧。无论是新手开发者还是经验丰富的技术人员,都能从中获得启发和帮助。
27 2
|
1天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云AI服务器价格表_GPU服务器租赁费用_AI人工智能高性能计算推理
阿里云AI服务器提供多种配置选项,包括CPU+GPU、CPU+FPGA等组合,支持高性能计算需求。本文汇总了阿里云GPU服务器的价格信息,涵盖NVIDIA A10、V100、T4、P4、P100等多款GPU卡,适用于人工智能、机器学习和深度学习等场景。详细价格表和实例规格见文内图表。
|
5天前
|
关系型数据库 API PHP
PHP在Web开发中的优势与实践###
【10月更文挑战第24天】 PHP是一种流行的服务器端脚本语言,特别适合Web开发。其简单易学、灵活性高和广泛应用的特点,使其成为众多开发者的首选。本文将探讨PHP在Web开发中的主要优势及其实际应用,通过实例展示如何使用PHP构建高效、可靠的Web应用。无论你是初学者还是有经验的开发者,这篇文章都将提供有价值的见解和实用技巧。 ###
11 0
|
JavaScript 前端开发 算法
网站开发WEB前端高性能优化之JavaScript优化细节
作为一名网站开发WEB前端工程师,对自己开发的网站项目应该尽可能地对其性能进行优化,现在互联网上搜索到的网站性能优化多是翻译转载自 Yahoo14条或34条。Yahoo的优化建议关注在大的方面,下面,W3C Group为大家呈现WEB前端开发高性能优化部分之JavaScript的优化细节! 一、避免出现脚本失控 不论什么脚本,在任何时间、任何浏览器上执行,都不应该超过100毫秒。
985 0
|
20天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
80 3

热门文章

最新文章

相关产品

  • 云服务器 ECS