阿里云:选择一个合适的服务器

  1. 轻量应用服务器
    1. vCPU
    2. 缓存
    3. GiB
    4. 公网流量包
    5. 峰值公网带宽
      1. 带宽
      2. 轻量应用服务器的带宽问题
    6. 固定公网地址
    7. 系统镜像
    8. 服务器地域
    9. 延迟
  2. 域名

轻量应用服务器

vCPU

CPU(Central Processing Unit,中央处理器) 是计算机的 “大脑”,负责执行所有的计算指令、逻辑判断、数据搬运。

┌─────────────────────────────────────────────────────────────────┐
│                        程序执行模型                              │
│                                                                 │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐    │
│   │   硬盘      │ ──→ │   内存      │ ──→ │    CPU      │    │
│   │  存储代码   │      │  加载代码   │      │  执行指令   │    │
│   └─────────────┘      └─────────────┘      └─────────────┘    │
│                                                                 │
│   CPU 不关心你写的是 Java、Python 还是 C                        │
│   它只执行已经编译成机器码的指令                                 │
└─────────────────────────────────────────────────────────────────┘

CPU 的职责

  1. 从内存读取一条指令
  2. 解码这条指令要做什么
  3. 执行(计算、比较、跳转、读写内存)
  4. 写回结果,然后取下一条指令
  5. 每秒重复这个流程几十亿次。

1核 CPU 如何执行程序:

时间轴 →
─────────────────────────────────────────────────────────────────
工人(1核)的工作状态:
┌─────────────────────────────────────────────────────────────────┐
│  Java 程序A  │  Java 程序A  │  Java 程序B  │  Java 程序A  │   │
│  (处理请求1)│  (处理请求2)│  (GC垃圾回收)│  (处理请求3)│   │
└─────────────────────────────────────────────────────────────────┘
特征 说明
同一时刻只能做一件事 一个 CPU 核心在同一纳秒只能执行一条指令
通过时间片轮转实现“并发” 操作系统快速切换任务(每秒切换几千次),让你感觉“同时”在运行
排队现象 如果 100 个用户请求同时到达,它们会在 CPU 面前排队等待处理

2核 CPU 如何执行程序

时间轴 →
─────────────────────────────────────────────────────────────────
工人1(核心1):
┌─────────────────────────────────────────────────────────────────┐
│  Java 程序A  │  Java 程序A  │  Java 程序A  │  Java 程序A  │   │
│  (用户请求1)│  (用户请求2)│  (用户请求3)│  (用户请求4)│   │
└─────────────────────────────────────────────────────────────────┘

工人2(核心2):
┌─────────────────────────────────────────────────────────────────┐
│  Java 程序B  │  Java 程序B  │  GC 回收   │  Java 程序B  │   │
│  (用户请求5)│  (用户请求6)│  (后台任务)│  (用户请求7)│   │
└─────────────────────────────────────────────────────────────────┘
特征 说明
真正并行 两个任务可以同一时刻在不同核心上执行
吞吐量翻倍 理想情况下,单位时间能处理的请求数是 1 核的 2 倍
资源隔离 GC(垃圾回收)可以在一个核心上跑,不影响业务请求

vCPU(虚拟中央处理器) 是云服务器分配给您的虚拟计算核心。它是物理 CPU 的一个逻辑切片。云厂商把物理服务器上的一块 CPU(比如 Intel Xeon 或 AMD EPYC)通过虚拟化技术,切分成多个虚拟核心分给不同用户。

vCPU 与物理 CPU 的关系vCPU 不是“给你一块独立的 CPU 硬件”,而是“给你使用物理 CPU 的配额”

┌─────────────────────────────────────────────────────────────┐
│              物理服务器(阿里云机房)                         │
│                                                             │
│  ┌─────────────────────────────────────────────────────┐   │
│  │         物理 CPU(例如 Intel Xeon Gold)              │   │
│  │              16 个物理核心                            │   │
│  └─────────────────────────────────────────────────────┘   │
│                         ↓ 虚拟化拆分                         │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐         │
│  │ vCPU 1  │ │ vCPU 2  │ │ vCPU 3  │ │  ...    │         │
│  │ 给你的  │ │ 给用户B │ │ 给用户C │ │         │         │
│  └─────────┘ └─────────┘ └─────────┘ └─────────┘         │
│                                                             │
│  每个用户拿到的是“虚拟核心”,轮流使用物理核心的时间片         │
└─────────────────────────────────────────────────────────────┘

缓存

内存(RAM,随机存取存储器) 是服务器的临时数据存储空间

它用来存放:

  • 正在运行的程序代码(如 Node.js、Java 进程)
  • 正在处理的数据(如用户请求、数据库查询结果)
  • 操作系统本身

内存决定了服务器能同时跑多少程序处理多大数据

作用 通俗理解
运行程序 你启动的 Node.js、MySQL、Nginx 都住在内存里
缓存数据 频繁访问的数据(如帖子列表)放内存里,速度比硬盘快几百倍
并发请求 每个用户请求占一点内存,内存越大能同时处理的请求越多
┌─────────────────────────────────────────────────────────────────┐
│                        程序运行模型                              │
│                                                                 │
│   ┌─────────────┐      ┌─────────────┐      ┌─────────────┐    │
│   │   硬盘      │ ──→ │   内存      │ ──→ │    CPU      │    │
│   │  永久存储   │      │  工作台    │      │  执行指令   │    │
│   │  慢(毫秒) │      │  快(纳秒) │      │  最快       │    │
│   └─────────────┘      └─────────────┘      └─────────────┘    │
│                                                                 │
│   程序必须先加载到内存,CPU 才能执行                             │
│   硬盘再大,内存不够,程序也跑不快                              │
└─────────────────────────────────────────────────────────────────┘

GiB

系统盘 是云服务器上用于安装操作系统、存储系统和应用程序数据的硬盘

50GiB 表示这块硬盘的容量为 50 GiB

单位 全称 换算关系 常见场景
GB Gigabyte 1 GB = 10⁹ 字节 = 1,000,000,000 字节 硬盘厂商、网络带宽
GiB Gibibyte 1 GiB = 2³⁰ 字节 = 1,073,741,824 字节 操作系统、云服务器

系统盘里装了什么:

┌─────────────────────────────────────────────────────────────────┐
│                    系统盘 50GiB 空间分配                         │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  操作系统(Linux)                             约 10 GB  │   │
│  │  - 内核、系统库、驱动程序                                  │   │
│  │  - /usr、/lib、/etc 等系统目录                            │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  你的应用程序                                   约 5 GB   │   │
│  │  - Java 应用(jar/war 文件)                            │   │
│  │  - 依赖库、配置文件                                       │   │
│  │  - 日志文件(/var/log)                                  │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  数据库(MySQL)                                约 10 GB  │   │
│  │  - 论坛帖子、用户数据                                      │   │
│  │  - 索引文件                                               │   │
│  │  - 日志文件(binlog、error log)                          │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  用户上传文件(图片/附件)                        约 5 GB  │   │
│  │  - ⚠️ 建议用 OSS 存储,不存本地                          │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  系统保留空间(/boot、swap、备份)                约 5 GB  │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  ┌─────────────────────────────────────────────────────────┐   │
│  │  剩余可用空间                                    约 15 GB │   │
│  │  - 用于日志增长、临时文件、未来扩展                        │   │
│  └─────────────────────────────────────────────────────────┘   │
│                                                                 │
│  总计:约 50 GiB                                               │
└─────────────────────────────────────────────────────────────────┘
对比项 内存(RAM) 硬盘(系统盘)
速度 极快(纳秒级) 慢(毫秒级)
容量 小(你这里是 4GB) 大(你这里是 50GB)
数据持久性 断电清空(临时) 断电保留(永久)
用途 运行程序、临时计算 存储文件、数据库文件

公网流量包

在阿里云轻量应用服务器中,“公网流量包”是指套餐内包含的 每月固定公网出网流量配额 ,用于抵扣实例产生的公网出方向流量(入网流量免费)。

具体含义如下:

  • 如果套餐中显示 “无固定流量”,表示流量费用已全额包含在套餐价格中,不会产生额外流量费用
  • 如果套餐中明确标注了 “每月XX GB流量”,则表示该实例拥有固定流量包;当月使用超出后,超额部分将按量计费(例如中国内地地域通常为0.8元/GB)。
  • 流量包仅适用于 公网出网流量 (如用户访问您的网站、下载文件等),同一VPC内网互通不消耗流量包。
  • 每月1日自动重置流量包额度。

峰值公网带宽

带宽

带宽 原本是一个物理概念,指信号所占用的频率范围,单位是赫兹(Hz)。但在网络领域,它通常指 数据传输速率,即单位时间内从一点到另一点传输的最大数据量。

单位:通常用 bps(比特每秒,bit/s)表示,如 100 Mbps、1 Gbps。

100 Mbps 的带宽,1秒钟最多大约可以下载 12.5 兆字节(MB)的数据

  • Mbps 中的 bbit(比特),是网络数据传输的最小单位。
  • MB/s 中的 BByte(字节),是文件存储的最小单位。
  • 1 Byte = 8 bits
  • 100 Mbps ÷ 8 = 12.5 MB/s

带宽指的是 1 秒钟可以下载的理论数据量(上限)。当然,这个数据量也由对方的带宽决定。

实际速度 = min(你的带宽, 对方带宽, 中间路径, 设备能力)

你的带宽(100M)             对方带宽(50M)              实际速度
      ↓                           ↓                        ↓
   ┌─────┐                    ┌─────┐                 ┌─────┐
   │水管 │                     │水管 │                 │ 实际 │
   │ 粗  │ ←──── 互联网 ────→  │ 细  │  =    只能达到    │ 流量 │
   │100M │                    │ 50M │                 │ 50M │
   └─────┘                    └─────┘                 └─────┘

轻量应用服务器的带宽问题

以下是官方解释:

“峰值公网带宽200 Mbps”是指该云服务器实例出方向(上行)到公网的最大瞬时带宽可达 200 Mbps,即每秒最多可向外传输约 25 MB 的数据(200 ÷ 8 = 25 MB/s)。 需要注意:

  • 此数值为带宽上限,不作为业务性能承诺指标。在阿里云资源争抢高峰期,实际带宽可能受限并出现丢包
  • 入网带宽(下行)免费,且当出网带宽 ≥10 Mbps 时,入网带宽上限与出网带宽一致。
  • 若业务对网络质量有强保障需求,建议选择按固定带宽计费的云服务器 ECS,而非按流量计费模式

这200M带宽不是你一个人独占的,而是你和同地域、同机房里其他所有轻量服务器用户共享的

                    ┌─────────────────────────────────────────┐
                    │        阿里云 杭州机房 总出口带宽           │
                    │            (比如 10,000 Mbps)          │
                    └─────────────────────────────────────────┘
                                       │
          ┌────────────────────────────┼────────────────────────────┐
          │                            │                            │
          ▼                            ▼                            ▼
   ┌─────────────┐              ┌─────────────┐              ┌─────────────┐
   │ 轻量服务器A  │               │ 轻量服务器B  │              │ 轻量服务器C   │
   │ 标称200M    │               │ 标称200M    │              │ 标称200M     │
   │ 你(论坛)   │               │ 别人(电商) │              │ 别人(博客)  │
   └─────────────┘              └─────────────┘              └─────────────┘
         │                            │                            │
         ▼                            ▼                            ▼
     100人访问                    200人访问                     300人访问

A、B、C 三台轻量服务器,每台标称 200M,但他们都共享机房的 10,000M 总出口。600个用户一起共享10,000M 这个大池子的带宽。

在总带宽不够分时,阿里云会尽量让每台服务器 按需分配,但 不超过 200M。这个时候,如果用户少,就有更高概率抢到资源。

固定公网地址

一台服务器(无论是物理机还是云服务器)是可以绑定多个公网IP地址的。

常见到“一个服务器一个IP”,是因为大多数情况下没必要绑定多个,而不是不能绑定多个

轻量应用服务器只可以绑定一个固定IP。

一台 ECS 实例至少有 1 个私网 IP,最多可拥有:

  • 1 个固定公网 IP(或绑定多个 EIP),
  • 多个辅助私网 IP,
  • 多个 IPv6 地址,

EIP(Elastic IP Address,弹性公网IP) 是阿里云提供的可以独立购买和持有的、可动态绑定到云资源的公网IPv4地址。它的核心特征是:IP地址与云资源(ECS、NAT网关、负载均衡等)解耦,可以随时绑定、解绑、转移。

EIP 本质上就是“网关上的一个映射条目”——它不依附于服务器,而是依附于网关。通过修改映射关系,同一个 IP 可以“指向”不同的服务器,这就是“弹性”的含义。

互联网用户访问你的网站
         │
         ▼
   输入 EIP:47.100.1.1
         │
         ▼
┌────────────────────────────────────────────────────────┐
│              阿里云边缘路由器(Internet Gateway)        │
│                                                       │
│  维护映射表:                                          │
│  ┌─────────────────────────────────────────────┐     │
│  │  EIP:47.100.1.1  ←→  私网IP:172.16.1.5   │     │
│  │  EIP:47.100.2.2  ←→  私网IP:172.16.2.8   │     │
│  │  EIP:47.100.3.3  ←→  私网IP:172.16.3.12  │     │
│  └─────────────────────────────────────────────┘     │
│                                                       │
│  执行 NAT(网络地址转换):                             │
│  目标地址:47.100.1.1  →  172.16.1.5                  │
└────────────────────────────────────────────────────────┘
         │
         ▼
   数据包目标地址已转换为私网IP:172.16.1.5
         │
         ▼
┌────────────────────────────────────────────────────────┐
│              阿里云 VPC 内部网络                        │
│                 (虚拟交换机)                          │
└────────────────────────────────────────────────────────┘
         │
         ▼
   你的 ECS 实例(私网IP:172.16.1.5)
         │
         ▼
   服务器上的论坛程序处理请求
         │
         ▼
   响应原路返回(经过 NAT 网关时,源地址再映射回 EIP)

轻量应用服务器也可以通过类似的技术(如Nginx)实现类似的效果

		公网IP:47.100.1.1(一台代理服务器)
         │
         ▼
    Nginx 反向代理
         │
    ┌────┴────┬────────┐
    ▼         ▼        ▼
 服务器 A   服务器 B  服务器 C
 (论坛)   (博客)  (测试)

系统镜像

维度 Alibaba Cloud Linux Ubuntu Anolis OS Debian CentOS
定位 阿里云自研,云原生优化 通用型,易用性优先 CentOS 替代方案,企业级稳定 稳定性优先,自由软件 已停更,不推荐
上手难度 ⭐⭐ 中等(类 RHEL) ⭐ 简单(文档多) ⭐⭐ 中等(类 RHEL) ⭐⭐⭐ 较难(配置较原始) ⭐⭐ 中等(已过时)
软件包管理 yum/dnf(RPM 体系) apt(DEB 体系) yum/dnf(RPM 体系) apt(DEB 体系) yum(已停止更新)
默认防火墙 firewalld ufw/iptables firewalld iptables firewalld
安全更新 ✅ 阿里云官方持续 ✅ 社区 LTS 长期支持 ✅ 社区+阿里云支持 ✅ 社区长期支持 ❌ 已停止
适用场景 云原生、容器、企业生产 开发测试、AI、通用 CentOS 迁移、企业生产 高稳定性服务器 不推荐用于新项目
  • Alibaba Cloud Linux:阿里云自研的定制化原生操作系统镜像,针对云上环境优化,安全稳定,兼容 RHEL/CentOS 生态。阿里云为其提供官方技术支持。其容器镜像基于龙蜥社区(OpenAnolis)打造,紧密跟进安全漏洞修复。

  • Ubuntu:广受欢迎的开源 Linux 发行版,以易用性和活跃的社区生态著称。阿里云提供多个 LTS 版本(如 16.04、18.04、20.04 等),属于第三方开源公共镜像,阿里云提供技术协助,主要支持来自社区。

  • Anolis OS(龙蜥操作系统):由 OpenAnolis 社区主导、阿里云深度参与的开源操作系统,旨在替代 CentOS,完全兼容 RHEL/CentOS 软件生态。在阿里云中作为公共镜像提供,适用于希望延续 CentOS 使用习惯的用户。

  • Debian:以稳定性与自由软件理念著称的开源 Linux 发行版,阿里云提供 Debian 8 至 12 等多个版本,属于第三方开源公共镜像,技术支持主要依赖社区。

  • CentOS:曾广泛使用的 RHEL 兼容发行版,但因上游策略变更已停止维护(EOL)。阿里云仍提供部分历史版本(如 CentOS 7.9、8.2 等),但不推荐用于新业务部署。

Alibaba Cloud Linux的社区生态不如 Ubuntu 丰富(第三方软件包可能需自行编译),如果是容器化部署或者纯阿里云生态可以尝试。

Ubuntu全球最流行的 Linux 发行版之一。社区极其活跃,几乎任何问题都能搜到解决方案。软件包最丰富(apt install 基本覆盖所有常用软件)。非常适合个人开发者。

服务器地域

要在国内微信上架小程序或者应用商城,就需要ICP备案。

如果要ICP备案,只能是国内的服务器。

如果只是做网页,不介意国内用户是否可以访问,就可以选择国外的服务器。国外服务器不需要ICP备案。

延迟

延迟分为两种:

  • 往返延迟 (RTT, Round-Trip Time):数据从客户端 -> 服务器 -> 回到客户端的总时间。这是最常用的指标。
    • 延迟 = 一个请求从发出到收到响应所花费的总时间
  • 单向延迟 (One-way Delay):仅指数据从客户端传输到服务器的那一段耗时(通常大约是 RTT 的一半)。

这里所说的时间,是没有业务代码执行的时间,是纯粹的“网络传输耗时

sequenceDiagram
    participant 客户端 as 客户端
    participant 服务器 as 服务器

    Note over 客户端,服务器: 延迟 = 网络传输时间 × 2

    客户端->>服务器: ① 发送空请求 (Ping / 健康检查)
    Note over 服务器: ⚡ 无业务逻辑
立即返回 服务器-->>客户端: ② 返回空响应 Note over 客户端: 总耗时 ≈ 纯网络往返时间
(如 70ms)

这种情况下,延迟几乎完全等于网络本身的物理耗时——数据在光缆中跑一个来回的时间。这就是为什么 ping 命令能用来测试网络延迟,因为它发的是不含业务逻辑的 ICMP 请求。

如果包含业务逻辑,就是下面的情况:

sequenceDiagram
    participant 客户端 as 客户端
    participant 服务器 as 服务器

    Note over 客户端,服务器: 延迟 = 网络传输时间 + 业务处理时间 + 网络传输时间

    客户端->>服务器: ① 发送请求 (如:查询订单)
    Note over 服务器: 🖥️ 业务逻辑处理
(查数据库、计算、调用其他服务) 服务器-->>客户端: ② 返回结果 Note over 客户端: 总耗时 = 网络往返 + 业务处理耗时

域名

×

喜欢就点赞,疼爱就打赏