-: In this lesson,
we're going to talk about performance issues.
Specifically, sluggish or slow performance
that you're going to observe over time on a system.
Now, performance issues
are one of the hardest things
to diagnose properly inside of a computer system
because they could be hardware related,
software related, or a mixture of the two.
For this reason, it is really difficult to figure
out exactly what the issue is,
but I'm going to give you
a couple of general guidelines in this lesson.
Now, when you start to troubleshoot performance issues,
you should always use a structured approach,
and try to compartmentalize
each of the different issues
that could be causing that performance issue.
So to begin,
we need to know what a baseline is
for our given system.
For example, let's say that I have a system
that has a three gigahertz processor,
16 gigabytes of ram,
a one terabyte hard drive,
and a one gigabit per second networking card.
Now, knowing all of those specifications is fine,
but, if I've never actually
touched that system before or looked at it,
I don't really know how they're all working together.
So when you have a new system,
you want to observe that system
and the way it currently operates.
Taking the example system I just gave you,
when we first get that brand new system,
we should know what normal feels like.
How fast does it really operate?
How much RAM is it using on a daily basis
when we have just the operating system loaded,
or the operating system and an office suite open?
We also need to know how fast is the network.
Because just because we have a one gigabit
per second card,
doesn't mean we're getting one gigabit
per second of throughput.
In addition to all that,
we have to look at the hard drive.
I said it was a one terabyte hard drive,
but I didn't tell you,
was it a solid state drive?
Was it a hard drive running at 5400 RPMs,
or 7,200 RPMs, or 10,000 RPMs.
And all of those are going to have different performance.
Now, once you know
what the normal performance is,
you can then determine
what is sluggish or slow performance,
and then you'll be able to identify
what those areas are,
that you need to focus your troubleshooting efforts on.
Now, in addition to being able to identify
which of those subsystems
is actually going to be the problem
based on our sluggish performance
that we're observing,
we can then do configuration changes
to optimize those subsystems.
For example, if we start seeing
that the average user
is running out of RAM all the time,
we might want to do an upgrade
from eight gigabytes to 16 gigabytes,
or 16 gigabytes to 32 gigabytes.
Because again, this is one of the
simplest and easiest things you can do
to increase the performance of a system.
But, if you are experiencing the sluggish performance,
and you look at your free ram,
and you have eight gigabytes of free ram out of 16,
then upgrading to 32 is probably not
going to do much for you in terms of performance,
because you're not already using all the ram you have.
And so these are the kind of things
you have to think about
when your troubleshooting performance issues.
Now, in addition to all of that,
you also want to make sure
your system isn't overheating.
A lot of our modern systems
have throttling to their processing units
to be able to protect themselves from overheating.
So, if your system is starting to heat up,
that processor that should be operating at three gigahertz,
might actually downgrade itself
to two gigahertz or 1.5 gigahertz
to try to lower the thermal load that it's creating,
and be able to help the system from overheating.
Because, if a system overheats,
it could reboot or it could shut down.
So, a lot of your temperature sensors
will actually slow down components
such as the graphics processing unit,
or the central processing unit
to be able to lower the overall thermal load.
If you have a faulty temperature sensor,
this can actually indicate
you have a higher temperature than really exists,
and therefore, your CPU is going to start
lowering its performance to compensate for that.
So keep this in mind as well.
Another thing to consider
when you're troubleshooting performance issues,
is any possible misconfigurations.
For example, let's say you did a memory upgrade
from eight gigabytes to 16 gigabytes.
Well, when you did that,
you may have taken out two four gigabyte modules,
and put in two new eight gigabyte modules,
but you put them into slots zero and one,
instead of slots zero and two.
And so your memory is not operating in dual channel mode.
Instead, it's only operating in single channel mode.
This will give you more sluggish performance
than you may have had
with the old eight gigabyte system,
because you're only able to access
64 bits at a time
instead of 128 bits at a time,
effectively cutting your performance in half
even though you doubled your memory.
So again, these type of misconfigurations
can really have cascading effects throughout your system.
Another common misconfiguration
could be in the operating system
or the application software itself.
For example, I've seen a lot of people
who increase the page size inside of windows,
or the swap space inside of Linux.
They think this is going to give them better performance,
but instead, this is actually
just giving you more virtual memory,
which causes a lot more swapping
from physical memory to your hard disc
or solid state device,
and thereby slows down your entire system.
So you need to keep all these things in mind
as you start configuring your system.
And remember, none of these things work in isolation.
When you have these performance issues,
it can be a myriad of different things
all working against you at the same time.
It could be the operating system,
it could be your applications,
it could be your configurations,
it could be your network,
or it could be your hardware.
And being able to identify this
by breaking everything up into subsystems
as you're considering it,
and identifying those performance issues,
is going to be critical for you
as a technician in the field.