<br><font size=2 face="sans-serif">Hi all..</font>
<br>
<br><font size=2 face="sans-serif">I feel compelled to chime in on this
GFS performance thread as we have a three node GFS environment running
RHEL4.6 that was suffering from severe memory utilization (100% on a 32GB
system) on all nodes and unacceptably poor performance.  The three
nodes serve five GFS file systems which range from 100GB to 1.2TB in size
and are home to a diverse combination of very large and very small files.</font>
<br>
<br><font size=2 face="sans-serif">The degradation in performance always
coincided with backup process starting, i.e. large numbers of inodes being
read and cached, and was so bad that I was considering abandoning our GFS
implementation altogether.  Basic Unix commands such as df, ls and
mkdir either took several minutes to complete or never finished at all.
 The only way to resolve the problem was to reboot all three production
nodes which alleviated the problem until the next backup started.</font>
<br>
<br><font size=2 face="sans-serif">With a recommendation from RedHat support
I implemented the tunable GFS parameter that Wendy describes in </font>
<form action="https://www.redhat.com/OA_HTML/ibuSRDetails.jsp?jttst0=207722_23131%2C23131%2C-1%2C0%2C&ibudnr=15&jtfm0=_0_1_0_-1_f_nv_&ibucr=KSDcFD0D&etfm1=&ibudf=DD-MON-RRRR&kmcp=JSC9ED0D&jfn=ZG5B6FE25348A30A1BA485AFAB4B767758A0B43A31EBA6DC7C7845061873E259DF4FFEEE222967D5F79F4D7F411229D9A8AB&oas=rDQ6u7Ik7d9ueDIcFTHb2g..&srID=1781354" method=post><font size=2 face="sans-serif">http://people.redhat.com/wcheng/Patches/GFS/readme.gfs_glock_trimming.R4
by setting glock_purge to 50 for all file systems and it has made a dramatic
difference.  The memory utilization is no longer apparent and overall
performance is very acceptable even when backups are running.</font>
<br>
<br><font size=2 face="sans-serif">If you're are not at update 6 yet then
I would urge you to upgrade as soon as possible to take advantage of this
new feature.</font>
<br>
<br><font size=2 face="sans-serif">Regards,</font>
<br>
<br><font size=2 face="sans-serif">Paul McDowell</font>
<br><font size=2 face="sans-serif">Celera</font>
<br>
<br>
<br>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Wendy Cheng <wcheng@redhat.com></b>
</font>
<br><font size=1 face="sans-serif">Sent by: linux-cluster-bounces@redhat.com</font>
<p><font size=1 face="sans-serif">01/04/2008 11:04 AM</font>
<table border>
<tr valign=top>
<td bgcolor=white>
<div align=center><font size=1 face="sans-serif">Please respond to<br>
linux clustering <linux-cluster@redhat.com></font></div></table>
<br>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">linux clustering <linux-cluster@redhat.com></font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">Re: [Linux-cluster] GFS performance</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>Kamal Jain wrote:<br>
> Feri,<br>
><br>
> Thanks for the information.  A number of people have emailed
me expressing some level of interest in the outcome of this, so hopefully
I will soon be able to do some tuning and performance experiments and report
back our results.<br>
><br>
> On the demote_secs tuning parameter, I see you're suggesting 600 seconds,
which appears to be longer than the default 300 seconds as stated by Wendy
Cheng at http://people.redhat.com/wcheng/Patches/GFS/readme.gfs_glock_trimming.R4
-- we're running RHEL4.5.  Wouldn't a SHORTER demote period be better
for lots of files, whereas perhaps a longer demote period might be more
efficient for a smaller number of files being locked for long periods of
time?<br>
>   <br>
<br>
This demote_secs tunable is a little bit tricky :) ... What happens here
<br>
is that, GFS caches glocks that could get accumulated to a huge amount
<br>
of count. Unless vm releases these inodes (files) associated with these
<br>
glocks, current GFS internal daemons will do *fruitless* scan trying to
<br>
remove these glock (but never succeed). If you set the demote_secs to a
<br>
large number, it will *reduce* the wake-up frequencies of these daemons
<br>
doing these fruitless works, that, in turns, leaving more CPU cycles for
<br>
real works. Without glock trimming patch in place, that is a way to tune
<br>
a system that is constantly touching large amount of files (such as <br>
rsync). Ditto for "scand" wake-up internal, making it larger
will help <br>
the performance in this situation.<br>
<br>
With the *new* glock trimming patch, we actually remove the memory <br>
reference count so glock can be "demoted" and subsequently removed
from <br>
the system if in idle states. To demote the glock, we need gfs_scand <br>
daemon to wake up often - this implies we need smaller demote_secs for
<br>
it to be effective.<br>
> On a related note, I converted a couple of the clusters in our lab
from GULM to DLM and while performance is not necessarily noticeably improved
(though more detailed testing was done after the conversion), we did notice
that both clusters became more stable in the DLM configuration.<br>
>   <br>
This is mostly because DLM is the current default lock manager (with <br>
on-going development efforts) while GULM is not actively maintained.<br>
<br>
-- Wendy<br>
<br>
--<br>
Linux-cluster mailing list<br>
Linux-cluster@redhat.com<br>
https://www.redhat.com/mailman/listinfo/linux-cluster<br>
</font></tt>
<br></form>