Java Reference
In-Depth Information
Now, you need to speed up your website by more than twice.
So you know that you need to either scale up, or scale out. To
scale up, get bigger web servers, more RAM, faster disks. To
scale out, get more servers.
Use your metrics from step 2, and testing, to make this
decision. For example, if you saw that the disk latency was
massive during the testing, you know you need to scale up
and get faster hard drives. If you saw that the processor was
sitting at 100% during the test, perhaps you need to scale out
to add additional web servers to reduce the pressure on the
existing servers. There's no generic right or wrong answer,
there's only what's right for you. Try scaling up, and if that
doesn't work, scale out instead. Or not, it's up to you and
some thinking outside the box. Let's say we're going to scale
out. So I decide to clone my two web servers (they're VMs)
and now I have four web servers.
Step VI: Rinse & Repeat
Start again from Step 3. If you find that things aren't going as
you expected (for example, we doubled the web servers, but
the response times are still more than two seconds), then look
into other bottlenecks. For example, you doubled the web
servers, but still have a crappy database server. Or you cloned
more VMs, but because they're on the same physical host, you
only achieved higher contention for the server's resources.
You can then use this procedure to test other parts of the
system. Instead of hitting the load balancer, try hitting the
web
server
directly,
or
the
SQL
server
using
an
SQL
benchmarking tool.
Search WWH ::




Custom Search