硬件工程师怎么玩转云服务器?达尔闻自制最强攻略来了

科技   2024-09-30 16:01   江苏  

不想错过我的推送,记得右上角-查看公众号-设为星标,摘下星星送给我

早些年,说起云服务器,感觉和嵌入式离的很远,但现在随着物联网、智能终端、工厂自动化等行业发展,设备需要上云,上云之后可以让设备立刻“高大上”起来。所以,云服务器开始走进了嵌入式工程师的工作日常。

这不,我就遇到了一个棘手的工作:用最快的速度部署200套数据采集终端,需要做到内网穿透和数据采集,并且需要运维以及客户能远程监控。

这样的工作,明显需要借助“外力”——云服务器。但,从来没有搞过云服务器的我很懵逼,不知道如何开始。

正好看到华为云正在搞活动,其中有一款Flexus X实例可以自定义配比算力,而且性能也比较高,非常适合这个项目部署。没想到真的成了。

接下来,作为云服务器领域初学者,我将把从初次接触到成功部署的全过程与宝贵经验,详细记录并分享出来,为想尝试云服务器的工程师朋友们,提供一份实用的参考指南。

01

如何选择云服务实例?

华为云828营销季活动期间,包括Flexus系列在内的众多新品优惠力度很大,进入华为云的主页就可以看到828营销季的活动。

华为云828营销季

同时,也为了方便企业用户和个人用户体验,华为云有专门的云产品体验,包括Flexus X实例在内的各类云产品的免费试用活动,诚意还是很足的。

华为云云产品体验专区

本次项目,我选用的就是Flexus X实例。Flexus X实例是华为云新一代面向中小企业和开发者打造的柔性算力云服务器,具备独有特点,例如Flexus X实例具有更灵活的vCPU内存配比、支持性能模式、旗舰级可靠性等。可智能感知业务负载,适用于电商直播、企业建站、开发测试环境、游戏服务器、音视频服务等行业大多数通用工作负载场景。华为云还提供了非常丰富的公共镜像、实例规格,功能使用更为灵活,负载范围更高。

下面就是为项目选择Flexus X实例的过程,对于第一次选购华为云服务器的小伙伴,可以先去学习一下华为云的文档,从产品介绍、使用入门、实践、API参考以及常见的问题都做了说明,阅读这些参考文档,就可以很快入门。

华为云Flexus系列产品文档

这就是Flexus系列产品的选择界面:

进入华为云Flexus X实例界面,就可以开始配置云服务器了,在“基础配置”里,可以选择包年/包月或者按需计费,这两种模式对应不同的客户群体,比如按业务是定期测试,不需要长时间在线,按需计费模式就更划算,而包年/包月模式就适合服务需要长时间部署在线。

我的项目随时要保持长时间在线,但这次想先看下华为云的效果,所以选择了按需计费模式。

计费模式选择

接下来就是选择实例配置了。前面提到了柔性算力,什么是柔性算力呢?说直白点,就是配置更加灵活,传统的ECS CPU和内存配比是固定档位,用户不可随意变更,比如:有些项目部署需要16G内存2核心。但是,在16G的配置下,CPU只有8核心的档位,用户就需要为多余的6核心买单,造成性能浪费。但是在华为云柔性算力的加持下,用户的选配更加灵活,内存和CPU可以自由档位配合,Flexus X实例目前CPU最高选配是32核,内存最高选配是256GB。Flexus X实例还推出了性能模式,开启性能模式后,采取底层物理绑核技术,提供极致稳定的QoS保障能力,可以获得非常稳定的性能保障。

为了方便快速选配,华为云提供预置规格,如果用户需要的配置在这里有,直接选择即可;如果没有想要的预置配置,就在自定义规格里去选择。依据业务实际需求,我选型为4U 8GB,同时开启了性能模式。

预置规格选择

自定义规格选择

实例配置选择4U8G之后,接着选系统镜像和存储配置。华为云提供了三类系统镜像:公共镜像、私有镜像、共享镜像。

在公共镜像里,种类非常丰富,从Windows到Linux都有,很适合新手。所以,这里选择Huawei Cloud EulerOS 2.0,同时,开启Nginx应用加速,优化后,业务在运行Nginx、Redis或MySQL等典型业务时最高可以获得6倍以上的性能提升,系统盘这里选择70GB,不挂载数据盘。

系统镜像选择和存储

公网配置也提供了比较丰富的选择,可以按带宽付费,也可以按流量计费。比如我的应用场景选择按流量计费更划算。

公网配置

到这里,云服务器配置就完了,其他的安全组、登录凭证以及系统备份等项目的配置,大家根据自己的需要配置即可。

这就是选择好的全部配置内容,如下图所示。CPU是4U,内存8G,开启了性能模式,公网带宽是100 Mbit/s,使用流量计费,系统盘为70GB,系统镜像是Huawei Cloud EulerOS 2.0 Standard 64 bit, 开启 Nginx加速。

确认配置

最后,确认后,购买即可,在控制台看到云服务器了。

控制台显示我们已经购买的云服务器

02

配置云服务器

有了云服务器,就可以开始远程登录配置了。这里提示端口未开放,需要进入安全组放开端口。

远程登录提示端口未开放

在安全组界面,选择一键放开常用端口,或手动放开。

安全组一键放开常用端口

在安全组放开端口后,使用登录密码进行远程登录。

远程登录界面

这就是属于自己的云服务器:

远程登录进入云服务器

通过MobaXterm,进行远程登录管理:

MobaXterm远程登录

03

Flexus X实例实测

接下来,使用SuperBench对服务器的硬件基本信息、流媒体解锁检测、磁盘IO检测、CPU性能测试、以及国内和国外网络测速进行测试,测试脚本放这里了(wget -qO- https://down.vpsaff.net/linux/speedtest/superbench.sh | sudo bash)。

首先,分别创建了同配置的4U8G的实例,一个不开启性能模式,一个开启性能模式,实际GeekBench V6跑分如下:

Flexus X实例普通模式和性能模式GeekBench V6跑分

开启了性能模式的跑分比不开的低?与华为云的工程师沟通,才了解到基础模式和性能模式,性能的SLA是不一样的。基础模式是超分型实例,在用量规模比较小的时候以及非业务高峰的时候,基本上就是一个独享型实例,性能峰值会特别高,但如果遇到持续业务高负载的时候,就没有办法承诺一直保持这么高性能的。而开启性能模式后,Flexus云服务器X实例采取底层物理绑核技术,提供极致稳定的QoS保障能力,可以获得非常稳定的性能保障。也就是说,基础模式下,去用跑分软件去做测试,只能体现当前主机的爆发力,而不持久,性能模式在长期压测下就能彰显其性能保障能力。因此,比如在长期重载的情况,去打开性能模式就能保证访问的稳定。

华为云Flexus X实例在业界又是一个什么样的性能呢?这里我们也对腾讯云的S6,阿里云的U1,G6,G7分别进行GeekBench V6跑分,下面依次是同配置的其他厂商与华为云Flexus X实例的GeekBench V6跑分对比。

Flexus X实例基础模式和阿里云U1系列GeekBench V6跑分

Flexus X实例性能模式和腾讯云S5系列GeekBench V6跑分

Flexus X实例性能模式和腾讯云S6系列GeekBench V6跑分

Flexus X实例性能模式和阿里云G6系列GeekBench V6跑分

Flexus X实例性能模式和阿里云G7系列GeekBench V6跑分

单从GeekBench V6跑分上看,华为云Flexus X实例的单核和多核性能都是非常优秀的:

✔ Flexus X实例基础模式性能,单核是U1约1.5倍,多核则是2倍;

✔ Flexus X性能模式远超腾讯云S5和阿里云G6旗舰主机,与腾讯云S6和阿里云G7性能持平,但是定价低于腾讯云和阿里云。这也是我们选择这个Flexus X实例的原因,差不多的成本,能拿到性能更好一点的主机。

04

常见应用测试

我们再对比一下MySQL、Redis、Nginx三个常见应用的实测跑分。分别将Flexus X和阿里云U1、腾讯云的S6、阿里云的G6做对比。

第一个是MySQL软件的对比实测,我们使用Sysbench分别测试以下主机,Sysbench测试参数如下:

TABLE_SIZE=1000000# 每个表的数据行数 

TABLES=10# 表的数量 

THREADS=16# 并发线程数 

TIME=60# 测试持续时间(秒) 

REPORT_INTERVAL=10# 报告间隔(秒) 

实测数据,取TPS制图如下:

第二个是Redis对比实测,测试软件为memtier_benchmark 2.1.1,测试脚本如下:memtier_benchmark --server=127.0.0.1 --port=6379 --clients=50 --threads=4 --requests=100000 --ratio=1:9,这个命令将启动 50 个并发客户端,分布在 4 个工作线程中,向 Redis 服务器发送总共 100,000 个请求,其中 SET 和 GET 操作的比例为 1:9。

实测数据,取每秒操作数均值(ops/sec),制图如下:

第三个是Nginx对比实测,使用的测试软件为wrk,测试脚本如下:wrk -t 5 -d 30s -c 100 http://127.0.0.1:80,这条命令的目的是使用 5 个线程,在 30 秒的时间内,对目标服务器保持 100 个并发连接,并发送 HTTP 请求以测试其性能和负载能力。

实测数据,取每秒请求数均值(单位为K),制图如下:

通过对比上述主机MySQL、Redis、Nginx三个常见应用的实测,我们发现Flexus X实例的表现都是非常不错的。

05

项目部署

基础的硬件性能测试完成后,就开始部署运维面板和相关服务了,运维面板选择宝塔面板即可,安装完成后,记录好登录入口、用户名以及密码。

宝塔面板安装成功

这就是宝塔面板的初始化,可以根据自己的实际需求选择安装组件,这里选择LNMP组件。

宝塔面板组件选择

本次主要使用到的就是MQTT协议,MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备之间的高效通信。因此就需要在华为云Flexus X实例上部署MQTT消息服务器,我们本次测试使用的是EMQX消息服务器。

EMQX开源MQTT消息服务器部署

MQTT消息服务器部署完成后,首先使用Jmeter做一下压测,我们创建了500个发布线程,500个订阅线程,10秒内完成创建,然后每100mS发布一次消息。

消息发布测试任务

消息订阅测试任务

创建完成后,开始运行,这是运行的汇总报告,MQTT Pub Sampler的吞吐量达到了4008.9/sec, MQTT Sub Sampler的吞吐量达到了3647.1/sec,这个性能已经算可以了,在这个项目中其实是用不到这么多的节点数量。

Jmeter MQTT压测结果

然后就是远程服务,通常在给目标客户机做远程运维的时候,都是安装向日葵或其他的一些远程软件,但是,在有些项目里,客户的本地主机不允许使用那些软件,这就需要用到内网穿透。

可以使用Frps工具进行内网穿透,创建一个Frps的项目,配置好端口,打开开机自启就完成了。

Frps项目创建

在浏览器输入服务器的IP地址,端口是7500,就可以进入Frps的看板界面了,在这里就可以看到对应的连接和端口使用情况。

Frps看板界面

然后接着在Frpc里创建代理任务,例如这里将本地局域网的192.168.2.2客户机的22端口映射到远程服务器的8001端口,配置完成后,开启服务。

Frpc本地配置

最后,可以使用SSH连接远程主机的8001端口,就可以访问本地主机的22端口的,这样就实现了远程运维的目标。

映射本地22端口到云服务器的8001端口测试

05

总结

从零开始部署云服务器,使用华为云Flexus X实例体验非常流畅。Flexus X实例有诸多特色,柔性算力自定义配比、X-Turbo加速、大模型智能调度,为企业用户业务部署提供了多样化的解决方案,依托华为云技术支持和稳定可靠的服务,为企业降本增效雪中送炭。而且,现在华为云828营销季还在持续中,Flexus X实例企业新用户除了可以按照非常给力的折扣购买,还能直接白嫖一个月,而针对个人开发者,同系列产品更是堪称“白给”,新用户可以用来部署自己的服务或者搭建个人网站。总之,不管你是企业用户还是个人用户,在华为云都能找到适合你需求的云服务。
END


推荐阅读:
项目分享 |电赛系列 |人工智能 | 考研 
必考知识点 |毕业设计 | 开关电源 |求职
我们是妮mo,达尔闻创始人,只讲技术不撩汉的小姐姐。达尔闻在线教育平台旨在服务电子行业专业人士,提供技能培训视频,覆盖各细分领域热门话题,比如嵌入式,FPGA,人工智能等。并针对不同人群量身定制分层级学习内容,例如常用知识点,拆解评测,电赛/智能车/考研等,欢迎关注。
官网:www.darwinlearns.com
B站:达尔闻

达尔闻说
只讲技术不撩汉的小姐姐妮mo与你相遇达尔闻。这里提供技能培训视频,覆盖各细分领域热门话题,如嵌入式,FPGA,人工智能等。针对不同人群量身定制学习内容,如常用知识点,拆解评测,电赛/智能车/考研等!
 最新文章