How to know where is bottleneck of file server performance?

Posted on 2003-12-02
Medium Priority
Last Modified: 2013-12-15

I have a Linux file server. I feel it is slow and want to improve the performance. Before I upgrade the hardware, i want to know what is exact bottleneck, CPU, Memory, Disk, or network?

I know there are vmstat, iostat, etc. But I feel it is not so helpful. For example, iostat shows how many block read/write per seconds, but I don't know how big the number is too big! For vmstat, it shows how many percent is idle. But 50% idle is buy or not busy? My version of vmstat cannot show the percentage CPU spending on waiting for IO.

Anyone can give some information about some good open source software to analysis CPU, memory, disk and network?
Question by:cajin
  • 2

Accepted Solution

TheWeakestLink earned 200 total points
ID: 9867511
One of the things affecting file I/O performance is disk throughput.  Have you tried using hdparm to optimise this?  Look at http://linux.oreillynet.com/lpt/a/linux/2000/06/29/hdparm.html to get a start.

For a file server, CPU performance is probably not going to make a huge difference, if it's not really old and slow, and if you can assume DMA is used, so I wouldn't concentrate on CPU idle time first.  
If it's old hardware, and uses PIO instead of DMA, there is another discussion right there - just upgrade..

You didn't tell us about the machine spec, which makes it difficult to comment fully.


Assisted Solution

jgilligan1 earned 200 total points
ID: 10240827
Try top, this can give a nice performance view and it pretty easy to read.

uptime is good for getting a feel for how busy the server is at a moment in time, throwing this into a crontab over time would give a good register of how busy the CPU is.


Joe G.

Expert Comment

ID: 14571876
There are a small class of tools which are inhierent in Unix

gtop/top - Shows / updates process stack and other information in more or less real-time.
iostat - this shows system disk I/O performance overall
uptime - this shows overall CPU Queue wait times in a weighted average.
ps -efxl - this is a whole process stack which can show you (similarly to top) what is going on on a system in some detail, this would show ALL processes at a moment in time vs, top which tends to show just the top/most busy processes.


Joe G.


Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
Welcome back to our beginners guide of the popular Unix tool, cron. If you missed part one where we introduced this tool, the link is below. We left off learning how to build a simple script to schedule automatic back ups. Now, we’ll learn how to se…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question