EN
EspañolEnglishFrançaisDeutschPortuguêsItaliano
Sign in Start free
Lightsail

My machine is slow: reading CPU, burst capacity and network to know whether to upgrade

What the metrics of a Lightsail machine measure (CPU, burst capacity, inbound and outbound network, status checks), how to see them in the console and how to tell whether you need a bigger machine, you have too much traffic or there is a runaway process. And what to do in each case.

⏱ 20 minutes ◎ Basic level Updated on 28/10/2026

"The website is slow" is the most common complaint and the one that gives the least information. It may be that the machine has become too small, that something or someone is sending it far more traffic than usual, or that a process has gone haywire and is eating the processor. The three things are fixed in different ways, and upgrading the plan blindly is the most expensive of the three.

Lightsail keeps a few graphs for each machine that are enough to tell one case from another: CPU utilization, burst capacity, inbound and outbound network and status checks. You do not need to install anything. You do need to know what each one measures and, above all, understand burst capacity, which is what makes a small machine run fine for a while and then "run out".

Before you start: what each thing means

CPU
The machine's processor, the one that does the work. The CPU utilization graph says what percentage of that possible work the machine is using at each moment.
Burst capacity
Lightsail machines are entitled to a small percentage of CPU continuously and build up "credit" when they use less. That credit allows bursts above normal. Burst capacity is how much credit is left.
Sustainable zone and burstable zone
On the CPU graph, Lightsail draws a line. Below it, the machine can run all day (sustainable zone). Above it, it is spending credit (burstable zone) and when the credit runs out, the machine is throttled.
Inbound and outbound network
Data arriving at the machine (requests, uploads) and data leaving it (pages served, downloads). Measured in bytes per period.
Status check
Two automatic AWS tests: one checks that the machine responds (instance) and the other that the physical server hosting it is fine (system). If they fail, the graph rises above zero.
Cache
Saving the result of a piece of work (a page already built) so it is not repeated on every visit. It greatly reduces the CPU a website needs.
Bot
A program that visits websites automatically. There are good ones (search engines) and bad ones (they copy content, look for flaws, try passwords). The bad ones can generate more traffic than all your real visitors.

Step by step

  1. Open the machine's metrics

    Go to the Lightsail console, click the machine's name and go to the Metrics tab. At the top there is a drop-down to choose the graph: CPU utilization, CPU burst capacity (percentage), CPU burst capacity (minutes), Network in, Network out, Status check failed (instance) and Status check failed (system).

    On the right you choose the period. For "it is slow today" start with the last 6 hours; for "it has been like this for days" look at the whole week. Lightsail keeps two weeks of data; there is nothing further back.

  2. Read the CPU together with the sustainable zone line

    On the CPU utilization graph there is a horizontal line, usually low, separating the sustainable zone (below) from the burstable zone (above). It is the figure most people misread: a small Lightsail machine is not entitled to 100 % of its processor all the time, but to a small percentage continuously; above that it is consuming credit. A CPU at 40 % may look calm and not be if the line is at 10 %. What matters is not the number but how much time it spends above the line.

    • Short spikes above the line and then back down: normal. That is what the credit is for.
    • Almost always above the line: the machine is too small for what it does, or something is overloading it. Carry on with the next step.
    • A flat line at 100 % that started at a specific moment: almost certainly a runaway process. Jump to step 5.
  3. Look at the burst capacity: it is the tank

    Switch to CPU burst capacity (percentage). It is the level of the credit tank, from 0 to 100. When the machine is below the sustainable line, it rises slowly; when it is above, it falls. This graph tells the whole story:

    • It stays high (above 50 %) and recovers after spikes: the machine has plenty to spare. The slowness is not CPU.
    • It falls little by little over days and never fully recovers: you are using more CPU than the plan gives on a sustained basis. It is the classic symptom of "need a bigger machine".
    • It is at zero or nearly: the machine is exhausted. Lightsail limits it to the sustainable percentage and everything becomes painfully slow even though the CPU graph looks like it is "only" at 10 %. It is not that it does not need more: it is that it is not allowed to use it.

    The minutes variant says the same thing in time: how many minutes at full power are left if a spike in visits arrived right now.

  4. Check the network: is there too much traffic?

    Open Network in and Network out. Do not look for a number; look for the shape, comparing today with a normal day last week.

    • Network and CPU have gone up together: the machine is working because traffic is arriving. It may be good (a campaign) or bad (bots). Check in the website's statistics (Analytics, Matomo) whether real visits have gone up too. If the network has shot up and visits have not, it is bots.
    • Inbound network has regular spikes at fixed times, with outbound flat: someone is crawling the website automatically. Typically it is attempts to log in to /wp-login.php or /xmlrpc.php hundreds of times a minute.
    • Outbound is huge and inbound is not: you are serving large files (videos, unoptimised images). Transfer has a monthly allowance included in the plan; if you exceed it, it is charged separately.
    • CPU is high and the network has not changed: the problem is inside the machine. Go to the next step.
  5. Look for the runaway process

    If the CPU rose suddenly without the network changing, you need to look inside. Click Connect using SSH on the Connect tab and, in the terminal, type:

    top -o %CPU

    The first line is the process using the most processor. Normally you will see apache2, httpd, php-fpm or mysqld sharing the work. Be suspicious when:

    • A single process takes 100 % for minutes. For example mysqld on its own: a slow query or a table without an index, very common in WordPress with plugins that store statistics.
    • There is a process with a name you do not recognise using a lot: a backup in mid-morning, a plugin rebuilding thumbnails, or something that should not be there.
    • Dozens of php or apache2 processes at once: the machine is trying to serve more requests than it can. That is traffic; go back to the previous step.

    Press q to exit. If the culprit is clear, restarting the service is usually enough for today: on a Bitnami machine, sudo /opt/bitnami/ctlscript.sh restart; on Ubuntu, sudo systemctl restart apache2 (or mysql). Then you need to fix the cause.

  6. Review the status checks

    The last two graphs should always be at zero. If Status check failed (system) has risen, the problem is in AWS's physical server, not in your machine: stop and start the instance again, and AWS moves it to another healthy server. If the one rising is the instance one, the machine is not responding: out of memory, disk full or hung. Restart it and, when it comes back, check the space with df -h. A disk at 100 % makes everything fail in strange ways.

  7. Decide what to do with what you have seen

    The diagnosis boils down to three cases:

    • Need a bigger machine (CPU almost always above the line, burst capacity that does not recover, normal network, nothing odd in top). The cheap way out: a cache plugin if it is WordPress and cleaning up the database (remove plugins you do not use, delete revisions). Many websites halve their CPU with just that. The direct way: upgrade the plan. In Lightsail you do not resize in place: you take a snapshot, create a new machine with a bigger plan, move the static IP to it and delete the old one. There is a guide in this section.
    • Too much traffic (CPU and network rise together, real visits do not). Block the bots before paying for a bigger machine. The Lightsail firewall closes ports, but does not filter by type of request; for that use a security plugin in WordPress (limit login attempts, block xmlrpc.php) or put the website behind a service like Cloudflare. If the traffic is real, congratulations: now yes, cache and a bigger plan.
    • Runaway process (CPU at 100 % all of a sudden, network unchanged, one specific process in top). Restart the service and look for the cause: the slow query, the plugin, the scheduled task at a bad time. Upgrading the machine here only postpones the problem.

    Rule of thumb: if after caching and cleaning up the machine is still above the sustainable line most of the day, you genuinely need a bigger machine. The next plan costs a few euros more a month; less than an afternoon with the website down.

What can go wrong

The CPU is low but the website is painfully slow

Look at the burst capacity. If it is at zero, the machine is exhausted and Lightsail is throttling it: the CPU graph looks calm because it is not allowed to work. In the short term, reduce the load (cache, stop what is not needed) so the tank recovers; in the medium term, a bigger plan. If the burst capacity is high, the bottleneck is elsewhere: memory (check with free -m whether it is using swap), a full disk or a slow external database.

The graphs appear empty or with gaps

Lightsail only keeps two weeks. If a recent stretch is missing, the machine was stopped or restarting. If you have just created it, the first minutes show nothing. Wait and reload.

I upgraded the plan and it is still the same

Then it was not the CPU. Go back to the new machine's graphs: if the network has the same shape, it is traffic (bots) and it needs blocking; if a process is still at 100 %, it is the database or a plugin. A bigger plan gives more burst credit, but it does not fix a badly written query or a bot requesting the login page a thousand times a minute.

I do not know whether the traffic is bots or people

In the terminal, look at the last lines of the web server log: sudo tail -n 200 /opt/bitnami/apache/logs/access_log on Bitnami or /var/log/apache2/access.log on Ubuntu. If the same IP or the same page repeats (wp-login.php, xmlrpc.php, .php paths that do not exist), it is bots. People request different pages, with images behind them, from a variety of addresses.

In Simplio

In Simplio, each machine shows the metrics of the last 24 hours (CPU, burst capacity and network) on its own card, with no drop-downs, and translates them into a plain sentence: "this machine is running tight" or "has plenty to spare". If a machine stops or hits its limit, you get an email, instead of finding out from a customer. If the diagnosis is "need a bigger machine", from the same screen you take the snapshot and start, stop or restart; if it is "too much traffic", the firewall has an "add my IP" button to close ports to everyone except you.

To look inside you have the terminal in the browser on Linux and, on the Pro and Business plans, the installation scripts (WordPress, Let's Encrypt, Docker, update the system). The costs screen tells you, approximately, what the next plan means before you decide.

The same task, in AWS and in Simplio

In the AWS consoleIn Simplio
See how the machine is doingMetrics tab, 7 graphs in a drop-down, choose the period and compare by eyeMachine card with the last 24 h and a plain sentence
Find out that it has run outCreate an alarm per metric in the console, with threshold and emailEmail if the machine stops or hits its limit
Close a port to the botsNetworking tab, edit rule, type your IP by hand"Add my IP" button in the firewall

Try it free for 15 days See how it works

All of this, without the AWS console

Simplio is a panel to manage your AWS accounts: machines, scheduled copies, databases, domains, email and what AWS charges you, with per-person permissions and two-factor. Nothing installed on your servers.

Start free for 15 days, no card

Already a customer? Customer access.