VPS vs cloud server vs lightweight instance
Cloud server, lightweight instance, virtual host: which names mean the same machine, which do not, and how to read the specs that decide performance.
What these names actually mean
VPS (virtual private server), cloud server and 云服务器 are three names for one product: a virtual machine on shared hardware, running its own kernel, with full root access for you. A lightweight application server (轻量应用服务器) is that same virtual machine sold as a package with a simpler panel and a fixed traffic allowance. A virtual host (虚拟主机) is a different product: it is shared hosting, and it gives you no root at all. Work out which one a listing describes before you compare a single number, because the line "2 vCPU, 4 GB, 100 GB SSD" means something different under each.
Every provider invents its own vocabulary. Underneath the vocabulary there are only four things you can buy: a full virtual machine with its own kernel, a container that shares the host's kernel, shared hosting where you get a directory and a database, and a whole physical machine with no other tenant. Each name below maps onto one of those four. After the mapping comes the part that decides the purchase: why two listings with identical specifications do not perform the same, and what changes when the server sits inside mainland China instead of outside it.
Is a cloud server the same as a VPS?
In almost every case, yes. 云服务器, 云主机, 弹性云服务器, cloud server, cloud instance and VPS all describe a guest running under a hypervisor such as KVM, Xen or VMware. You get your own kernel, your own root account, your own filesystem and your own network stack. The word "cloud" sits on top of the same technology.
One real difference does hide behind the word, and it is worth asking about. A cloud server usually keeps its disk on network storage, so the provider can restart your instance on another host, resize the volume, and snapshot it while it runs. A traditional VPS more often uses the host's local NVMe drives, which are much faster per operation but tie the instance to one physical machine. So "cloud" often means slower disk with better recovery, and "VPS" often means faster disk with a rebuild after a host failure. The listing rarely states which, so ask. For the sharper line between these words and the ones cloud platforms use for private networking, read how a VPS, a plain VM and a VPC differ, or start at what a VPS is at the hardware level.
Billing is the other honest difference. Cloud instances are usually billed by the hour and can be destroyed at any time. VPS plans are usually billed monthly or yearly, often with a heavy discount on the first term only. That first-term discount produces most buyer regret, so find the renewal price before you pay.
What is a lightweight application server?
轻量应用服务器 is the entry product at mainland providers. Alibaba Cloud sells its version as Simple Application Server, and Tencent Cloud sells its version as Lighthouse. Underneath it is an ordinary virtual machine: same hypervisor, same root access, same Linux.
What differs is the package, not the machine. A lightweight instance bundles CPU, memory, disk, a public IP address and a monthly traffic quota into one price. It ships with a catalogue of prebuilt images such as WordPress or a LAMP stack, and a console designed for one server rather than a fleet. In exchange it drops the fleet features: fewer disk types, limited attachment to the provider's private network alongside general instances, fewer snapshot options, and no way to change one part of the package without moving to a different plan.
Read the traffic model first, because that is the part that bites. A lightweight package normally gives a peak bandwidth in Mbps plus a monthly quota in GB. When the quota is gone, the provider either bills the overage per GB or throttles the port until the month resets. A general cloud instance more often charges per GB of egress with no quota, or gives a fixed port speed with no traffic ceiling. Same machine, different meter. For an application that serves HTML and API responses, the quota is generous. For one that serves video or large images, it disappears in days.
Is a virtual host the same as a VPS?
No. 虚拟主机, virtual host or shared hosting is a single web server shared by hundreds of customers. You get a directory, a database, a PHP version the provider chose and a control panel. You do not get root. You usually cannot open a port, install a package, run a container, or keep a background process alive, because a long-running process gets killed. Any tutorial that begins with apt install does not apply to a virtual host.
That is the trade, stated plainly: shared hosting removes the work of running a server, and removes your ability to change how it runs. Shared hosting measured against a VPS covers where the line falls for a real site.
独立服务器 or 物理机, the dedicated server, sits at the far end: one whole physical machine, no hypervisor, no other tenant. Nothing is oversubscribed, so the numbers on the page are the numbers you get, and the price is several times higher. Watch one common mix-up. 独立IP means a dedicated IP address, which is a feature of shared hosting plans, and it has nothing to do with a dedicated server.
How do I tell a full virtual machine from a container?
Some cheap plans marketed as a VPS are containers: OpenVZ, or LXC (Linux containers). A container shares the host's kernel with every other customer on that box. For a web application and a database, that is fine. It rules out everything that needs the kernel: loading the WireGuard module, setting most sysctl values, some iptables and nftables modules, ZFS, a kernel version you choose, and a real swap file. Run these four commands on a trial instance before you commit.
systemd-detect-virt
uname -r
nproc
free -hsystemd-detect-virt prints kvm or qemu on a full virtual machine, lxc or openvz on a container, and none on bare metal. On a container uname -r shows a kernel you did not choose and cannot change, because it belongs to the host. free -h usually shows zero swap, because swap also belongs to the host. nproc is the interesting one: inside a container it may report every core in the physical machine, because it reads /proc/cpuinfo and that file is the host's unless the provider mounts lxcfs to mask it. Your real ceiling is a cgroup quota those tools never show, which is why a container can look like a 48-core server and behave like one core. KVM, Xen and LXC compared as VPS platforms goes through what each one can and cannot do.
Why do two VPS plans with the same specs perform differently?
A vCPU is a slice of time, not a core. A host with 32 physical threads may sell 100 or more vCPUs, because most customers are idle most of the time. Your vCPU is a thread the hypervisor schedules onto a shared physical core, so when your neighbours are busy your process is runnable and still waiting. Linux reports that wait as steal time. Run vmstat 1 5 and read the st column: a value sitting above roughly 5 percent while you generate load means the hypervisor is running someone else's work instead of yours. Steal time, and how to prove you have a noisy neighbour shows how to record it over hours instead of seconds.
Burstable plans run on a credit bucket. A burstable instance (突发性能实例, or a T-series instance) is sold with a baseline. A 20 percent baseline on 2 vCPUs means you may use 0.4 of a core continuously. Below the baseline you earn credits, above it you spend them, and when the bucket is empty the instance is clamped to the baseline or the provider bills you for the overage. This is why a benchmark run five minutes after boot proves nothing: it is spending credits the instance earned while it sat idle. Compile something for a full hour and watch the speed fall. If a listing quotes a baseline percentage anywhere, it is a burstable plan, whatever else the page says.
"Dedicated" and "shared" are not decoration. A dedicated vCPU is pinned to a physical thread nobody else uses, so steal time stays near zero, and it costs several times more per core. If the listing does not say dedicated, assume the cores are shared and oversubscribed.
The disk line hides the widest gap of all. "100 GB SSD" can mean local NVMe on the host, good for well over a hundred thousand random 4k operations per second. It can mean a network block volume with a hard cap, often written as a few IOPS (input/output operations per second) per GB of volume size plus a burst allowance that empties. It can mean a shared SATA array serving forty other customers. The capacity number is identical in all three cases. Ask for the IOPS cap and the throughput cap in writing, then check it yourself.
sudo apt install -y fio
fio --name=randread --filename=/var/tmp/fiotest --rw=randread --bs=4k \
--ioengine=libaio --direct=1 --iodepth=32 --size=1G \
--runtime=60 --time_based --group_reporting
rm -f /var/tmp/fiotest--direct=1 bypasses the page cache, so the result describes the disk rather than your RAM. Let it run the full 60 seconds. A volume with a burst bucket looks excellent for the first ten seconds and then steps down to its real cap, and only a timed run shows that step.
Bandwidth is two separate numbers. Port speed is a peak, in Mbps or Gbps. Monthly transfer is a budget, in GB or TB. A 1 Gbps port with 1 TB of monthly transfer is exhausted after roughly two hours at full speed, so the two numbers limit completely different things and a provider will quote whichever one flatters the plan. Ask what happens when the budget runs out: some providers throttle the port to a crawl until the month resets, some bill per GB, and some suspend the instance. Reading a cheap VPS offer line by line covers the rest of the small print, and what a VPS really costs once renewals are counted covers the money.
Do I need an ICP filing to host a site in mainland China?
If the server sits physically inside mainland China and you want to serve a website on a domain name, yes. ICP (internet content provider) filing, 备案 or beian, is a registration made through your hosting provider and recorded with the MIIT (Ministry of Industry and Information Technology). It ties a filing number to one domain, one responsible person or company, and one provider.
The mechanism is simple, and it explains the symptom people report. Mainland providers are accountable for the filings on their own network, so they block web traffic on ports 80 and 443 for any domain pointed at their address space without a valid filing on that account. SSH works. The server runs normally. The site answers nothing. No configuration on the machine is broken, so hours get lost looking for a fault that is not there.
Several consequences follow from the way the filing is tied to a provider.
- The filing belongs to the provider you filed with. Moving the site to another mainland provider means transferring the filing or making a new one.
- The domain extension must be one approved for filing, and the domain's registration details have to match the filer's identity documents.
- An individual filing normally covers a personal site with no commercial activity. Selling anything usually needs a further commercial ICP licence, which is a separate and slower application.
- After the ICP filing there is a second public security filing (公安备案) with the local Public Security Bureau, and its number goes in the site footer.
As of August 2026, providers commonly quote one to three weeks for a first filing, and ask for identity documents plus a photograph of the responsible person. Requirements vary by province, by provider and over time, and this page is not legal advice. Confirm the current rules with the provider before you pay, and confirm them again if you ever change provider.
What does an offshore VPS cost in latency?
Hosting outside mainland China removes the filing step, because the requirement follows the location of the server. Hong Kong, Japan, Singapore, the United States and Europe all sit outside it. The price is distance.
Every packet between a mainland user and an offshore server crosses an international gateway. Those crossings are a small number of links carrying an enormous volume of traffic, so latency is not only the speed of light. It rises during the evening peak when the links are congested, congestion causes packet loss, and every lost packet costs another round trip to retransmit.
One round trip is also not the whole cost of a page. A fresh HTTPS request needs a DNS (domain name system) lookup, then a TCP handshake worth one round trip, then a TLS 1.3 (transport layer security) handshake worth another, then the request and its response. The first byte of HTML therefore arrives about three round trips after the click, before a single image has been asked for.
The data behind this chart
[
{
"label": "Hong Kong",
"rtt_ms": 35,
"https_first_byte_ms": 105
},
{
"label": "Tokyo",
"rtt_ms": 55,
"https_first_byte_ms": 165
},
{
"label": "Singapore",
"rtt_ms": 75,
"https_first_byte_ms": 225
},
{
"label": "Los Angeles",
"rtt_ms": 160,
"https_first_byte_ms": 480
},
{
"label": "Frankfurt",
"rtt_ms": 230,
"https_first_byte_ms": 690
}
]Those 5 rows are typical published figures for a mainland user, not measurements from any one network, and the second column is only the first multiplied by three. Read them as orders of magnitude. Hong Kong at about 35 ms per round trip puts the first byte near 105 ms. Los Angeles at 160 ms per round trip is already close to half a second. Frankfurt at 230 ms puts the first byte around 690 ms, and that is with a healthy link and no loss.
Measure rather than trust a sales page. These two commands give the two halves of the answer.
curl -o /dev/null -s -w 'dns %{time_namelookup}\nconnect %{time_connect}\ntls %{time_appconnect}\nfirstbyte %{time_starttransfer}\ntotal %{time_total}\n' https://example.com
sudo apt install -y mtr
sudo mtr -rwbc 100 example.comIn the curl output, connect minus dns is one round trip, and tls minus connect is the handshake on top of it. If firstbyte is roughly three times your ping, distance is the whole story and no server tuning will help. In the mtr report, loss that appears at one hop and continues on every hop after it is real loss on a congested link. Loss that appears at one hop and vanishes at the next is that router deprioritising its own replies, which is normal and means nothing.
Test from all three big mainland carriers, China Telecom, China Unicom and China Mobile, and test during the evening peak, because routes differ per carrier and a region that is closer on a map is often not closer on the network. Some offshore providers sell a premium route to mainland networks, a CN2 GIA line for example, at a higher price. The only honest way to judge one is to measure it across an evening rather than at midday.
Without moving the server you can still cut the number of round trips. Serve the whole page over one HTTP/2 or HTTP/3 connection so the handshakes are paid once. Turn on TLS session resumption for return visitors. Remove third-party domains, because each new hostname costs a fresh DNS lookup and a fresh handshake. Put static files on a CDN (content delivery network) with points of presence near your users. Those reduce how many round trips a page needs. Nothing reduces the length of one.
How to read a listing before you pay
- Which of the four products is this: a full virtual machine, a container, shared hosting, or a physical machine. Ask which hypervisor, and check with
systemd-detect-virton a trial. - Are the vCPUs dedicated or shared, and if the plan is burstable, what is the baseline percentage and what happens when credits run out.
- What is the disk IOPS cap and throughput cap, and is the volume local or network attached.
- What is the port speed, what is the monthly transfer allowance, and what happens when the allowance is gone.
- Where is the server, and does a domain served from there need a filing.
- What is the renewal price after the first term, and what do backups, snapshots and extra IPv4 addresses cost.
- Is there a trial or a refund window long enough to run a one-hour load test rather than a five-minute one.
Once you know which product you are holding, the rest is arithmetic on those seven answers. Whether you also want the provider to run the operating system for you is a separate question, and managed and unmanaged hosting compared is the place to settle it.
FAQ
Is a cloud server the same thing as a VPS?
In almost every case, yes. 云服务器, cloud server, cloud instance and VPS all mean a virtual machine under a hypervisor, with its own kernel and full root access. The practical difference is usually storage and billing: a cloud server tends to use network-attached disk billed by the hour, which is slower per operation but can be resized, snapshotted and restarted on another host. A traditional VPS tends to use the host's local NVMe on a monthly plan, which is faster but tied to one machine.
What is a 轻量应用服务器 or lightweight application server?
It is an ordinary virtual machine sold as a fixed package with a simplified console, prebuilt application images and a monthly traffic quota. Alibaba Cloud calls it Simple Application Server and Tencent Cloud calls it Lighthouse. The hardware and the root access match a general instance. What you give up is flexibility: fewer disk options, limited private networking with other instances, and a bundled traffic quota that is billed as overage or throttled once it is used up.
Do I need an ICP filing for a VPS outside mainland China?
The filing requirement follows the physical location of the server, so a server in Hong Kong, Japan, Singapore, the United States or Europe does not go through the mainland filing process. A server inside mainland China does, and the provider will block ports 80 and 443 for an unfiled domain, which looks like a dead site on a perfectly healthy machine. Rules differ by province and by provider and they change, so confirm the current requirements with your provider rather than relying on any article, including this one.
Why is my VPS slower than another one with the same CPU and RAM?
Three specifications are usually missing from the comparison. The vCPUs may be shared and oversubscribed rather than dedicated, which shows up as the st column in vmstat 1 5 climbing while you are under load. The plan may be burstable, so it runs at full speed until its credit bucket empties and then drops to a baseline such as 20 percent of a core. The disk may be a network volume with an IOPS cap instead of local NVMe, which a 60-second fio run with --direct=1 will expose as a sharp step down after the burst allowance is spent.
Is a virtual host (虚拟主机) a VPS?
No. A virtual host is shared hosting: one web server split among many customers, with a directory, a database, a control panel and a PHP version the provider controls. There is no root account, no package installation, no listening on a port of your choice, and no long-running background process. If your application needs any of those, you need a virtual machine, not a virtual host.