I may have send the wrong file. Here is what exactly put in booster.conf in 3 servers /etc/glusterfs/glusterfs-client.vol /usr/home glusterfs subvolume=cache,logfile=/var/log/glusterfs/usrhome.log BTW, the problem occur randomly on the same node. Sometime I get the file, sometimes it's not. 2009/8/14 Raghavendra G <raghavendra at gluster.com> > Hi Somsak, > > Sorry for the delayed reply. > > I've tried to reproduce the issue you mentioned with 2.0.6 release but > without success. Both siege and wget report no inconsistencies in file size. > My configuration is httpd-2.2.11 (with mpm-worker), glusterfs 2.0.6. > > I also noticed that the virtual mount point (vmp) in your booster config is > /gluster. I am curious to know your what is DOCUMENT_ROOT configured to in > your httpd.conf. Because with DOCUMENT_ROOT configured to /usr/htdocs, the > vmp should be /usr/htdocs/gluster. For your configuration to work, the > DOCUMENT_ROOT should be '/'. > > Also, I am not finding the vmp specified in the url specified to wget. With > DOCUMENT_ROOT '/usr/htdocs' and vmp '/usr/htdocs/gluster', a wget of the > form, > > wget http:host/gluster/file > > will fetch the file from glusterfs mount point. On 'ls' on the gluster > mount point (mounted using same volume specification file as in > booster-config) you should be able to see 'file' listed. > > regards, > > > On Thu, Aug 6, 2009 at 9:24 AM, Somsak Sriprayoonsakul <somsaks at gmail.com>wrote: > >> The behavior is still the same >> >> [root at compute-0-0 ~]# wget -O /dev/null --header "Host: www.myhost.local" >> http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> --12:20:33-- http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> Resolving c0-3... 10.1.255.251 >> Connecting to c0-3|10.1.255.251|:80... connected. >> HTTP request sent, awaiting response... 200 OK >> Length: 264373 (258K) [text/html] >> Saving to: `/dev/null' >> >> 100%[====================================================================================================================>] >> 264,373 --.-K/s in 0.003s >> >> 12:20:33 (81.8 MB/s) - `/dev/null' saved [264373/264373] >> >> [root at compute-0-0 ~]# wget -O /dev/null --header "Host: www.myhost.local" >> http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> --12:20:35-- http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> Resolving c0-3... 10.1.255.251 >> Connecting to c0-3|10.1.255.251|:80... connected. >> HTTP request sent, awaiting response... 200 OK >> Length: 0 [text/html] >> Saving to: `/dev/null' >> >> [ >> <=> >> ] 0 --.-K/s in 0s >> >> 12:20:35 (0.00 B/s) - `/dev/null' saved [0/0] >> >> [root at compute-0-0 ~]# wget -O /dev/null --header "Host: www.myhost.local" >> http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> --12:20:38-- http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> Resolving c0-3... 10.1.255.251 >> Connecting to c0-3|10.1.255.251|:80... connected. >> HTTP request sent, awaiting response... 200 OK >> Length: 0 [text/html] >> Saving to: `/dev/null' >> >> [ >> <=> >> ] 0 --.-K/s in 0s >> >> 12:20:38 (0.00 B/s) - `/dev/null' saved [0/0] >> >> [root at compute-0-0 ~]# wget -O /dev/null --header "Host: www.myhost.local" >> http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> --12:20:39-- http://c0-3/cafe/siam/topic/F7800428/F7800428.html >> Resolving c0-3... 10.1.255.251 >> Connecting to c0-3|10.1.255.251|:80... connected. >> HTTP request sent, awaiting response... 200 OK >> Length: 264373 (258K) [text/html] >> Saving to: `/dev/null' >> >> 100%[====================================================================================================================>] >> 264,373 --.-K/s in 0.003s >> >> 12:20:39 (82.3 MB/s) - `/dev/null' saved [264373/264373] >> >> [root at compute-0-0 ~]# >> >> >> 4 consequtive wget yield different content length. Note that, this only >> happened with worker + booster, prefork has no problem. >> >> And the web server seems to use correct version of glusterfs >> >> [root at compute-0-3 ~]# glusterfs -V >> glusterfs 2.0.6rc2 built on Aug 6 2009 12:02:03 >> Repository revision: v2.0.5-13-g5e3ca25 >> Copyright (c) 2006-2009 Z RESEARCH Inc. <http://www.zresearch.com> >> GlusterFS comes with ABSOLUTELY NO WARRANTY. >> You may redistribute copies of GlusterFS under the terms of the GNU >> General Public License. >> [root at compute-0-3 ~]# >> >> And all glusterfsd too >> >> [root at fe1 ~]# pexec -p storage glusterfs -V \| grep 2\.0\.6 >> compute-0-6: glusterfs 2.0.6rc2 built on Aug 6 2009 12:02:03 >> compute-0-8: glusterfs 2.0.6rc2 built on Aug 6 2009 12:02:03 >> compute-0-9: glusterfs 2.0.6rc2 built on Aug 6 2009 12:02:03 >> compute-0-7: glusterfs 2.0.6rc2 built on Aug 6 2009 12:02:03 >> [root at fe1 ~]# >> >> Don't sure if there is anyway to query version from running glusterfsd, >> but I did /etc/init.d/glusterfsd restart already. >> >> 2009/8/3 Shehjar Tikoo <shehjart at gluster.com> >> >>> Somsak Sriprayoonsakul wrote: >>> >>>> Ok, I have a chance to run booster over 2.0.4 >>>> >>> >>> >>> Have you tried configuring booster with the help doc available at: >>> http://www.gluster.org/docs/index.php/BoosterConfiguration >>> >>> -Shehjar >>> >>> >>>> Please find the attach file for my configuration >>>> >>>> I did configure boost and try simple ls over my Gluster file system. >>>> Here's >>>> the output of ls -al >>>> >>>> [root at compute-0-3 ~]# >>>> LD_PRELOAD=/usr/lib64/glusterfs/glusterfs-booster.so >>>> ls -l /gluster/www/ >>>> ls: /gluster/www/: Invalid argument >>>> ls: /gluster/www/members.pantip.com: Invalid argument >>>> ls: /gluster/www/cafe.pantip.com: Invalid argument >>>> ls: /gluster/www/admin.pantip.com: Invalid argument >>>> ls: /gluster/www/www.pantip.com: Invalid argument >>>> ls: /gluster/www/passwd3.sql: Invalid argument >>>> ls: /gluster/www/passwd.sql: Invalid argument >>>> ls: closing directory /gluster/www/: File descriptor in bad state >>>> total 129972 >>>> drwxr-xr-x 3 root root 8192 May 11 16:13 admin.pantip.com >>>> drwxr-xr-x 5 root root 8192 May 18 11:11 cafe.pantip.com >>>> drwxr-xr-x 3 root root 8192 May 11 18:48 members.pantip.com >>>> -rw-r--r-- 1 root root 66654820 May 18 10:50 passwd3.sql >>>> -rw-r--r-- 1 root root 66225769 May 18 10:33 passwd.sql >>>> drwxr-xr-x 11 apache apache 8192 May 18 09:47 www.pantip.com >>>> [root at compute-0-3 ~]# >>>> >>>> [root at compute-0-3 ~]# >>>> LD_PRELOAD=/usr/lib64/glusterfs/glusterfs-booster.so >>>> cp /etc/issue /gluster/ >>>> [root at compute-0-3 ~]# >>>> LD_PRELOAD=/usr/lib64/glusterfs/glusterfs-booster.so >>>> ls -l /gluster/issue >>>> ls: /gluster/issue: Invalid argument >>>> -rw-r--r-- 1 root root 47 Aug 2 14:57 /gluster/issue >>>> [root at compute-0-3 ~]# >>>> LD_PRELOAD=/usr/lib64/glusterfs/glusterfs-booster.so >>>> cat /gluster/issue >>>> CentOS release 5.3 (Final) >>>> Kernel \r on an \m >>>> >>>> [root at compute-0-3 ~]# >>>> >>>> >>>> Despite all those errors, output seems to be fine >>>> >>>> And this is what inside my booster.log >>>> >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:55:05] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:56:27] E [libglusterfsclient.c:4194:__glusterfs_stat] >>>> libglusterfsclient: path lookup failed for (/hosts) >>>> [2009-08-02 14:56:37] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> [2009-08-02 14:57:00] E [libglusterfsclient.c:4194:__glusterfs_stat] >>>> libglusterfsclient: path lookup failed for (/issue) >>>> [2009-08-02 14:57:07] E [libglusterfsclient.c:2244:glusterfs_getxattr] >>>> libglusterfsclient: invalid argument: value >>>> >>>> Then, I try to LD_PRELOAD apache (prefork). I change the target from >>>> /gluster to /usr/home instead (the web application needs it). Then I >>>> tried >>>> to strace the httpd process and found that httpd crash at the points >>>> where >>>> httpd tried to read configuration file stored on Gluster volume (bad >>>> file >>>> descriptor). I will try to move this configuration file some other >>>> places >>>> and test again. >>>> >>>> 2009/7/31 Raghavendra G <raghavendra at gluster.com> >>>> >>>> Hi, >>>>> >>>>> On Thu, Jul 30, 2009 at 11:39 AM, Somsak >>>>> Sriprayoonsakul<somsaks at gmail.com> wrote: >>>>> >>>>>> Thank you very much for you reply >>>>>> >>>>>> At the time we used 2.0.3, and yes we used stock Apache from CentOS. I >>>>>> >>>>> will >>>>> >>>>>> try 2.0.4 very soon to see if it's work. >>>>>> >>>>>> For Booster, it seems not working correctly for me. Booster complains >>>>>> a >>>>>> >>>>> lots >>>>> >>>>>> of error with plain 'ls' command (but giving the correct output). >>>>>> Also, >>>>>> >>>>> with >>>>> >>>>> Can you mail those errors? >>>>> >>>>> booster, Apache process refuse to start. I will try 2.0.4 to see if it >>>>>> improves. If not, I will attach error log next time. >>>>>> >>>>> logs are very much appreciated. >>>>> >>>>> >>>>>> 2009/7/30 Raghavendra G <raghavendra at gluster.com> >>>>>> >>>>>>> Hi Somsak, >>>>>>> >>>>>>> Sorry for the delayed reply. Below you've mentioned that you've >>>>>>> problems >>>>>>> with apache and booster. Going forward, Apache over booster will be >>>>>>> the >>>>>>> preferred approach. Can you tell us what version of glusterfs you are >>>>>>> >>>>>> using? >>>>> >>>>>> And as I can understand you are using apache 2.2, am I correct? >>>>>>> >>>>>>> regards, >>>>>>> ----- Original Message ----- >>>>>>> From: "Liam Slusser" <lslusser at gmail.com> >>>>>>> To: "Somsak Sriprayoonsakul" <somsaks at gmail.com> >>>>>>> Cc: gluster-users at gluster.org >>>>>>> Sent: Saturday, July 25, 2009 3:46:14 AM GMT +04:00 Abu Dhabi / >>>>>>> Muscat >>>>>>> Subject: Re: Gluster 2.0.3 + Apache on CentOS5 >>>>>>> >>>>>> performance >>>>> >>>>>> issue >>>>>>> >>>>>>> I haven't tried an apples to apples comparison with >>>>>>> Apache+mod_gluster >>>>>>> >>>>>> vs >>>>> >>>>>> Apache+fuse+gluster however i do run both setups. I load tested both >>>>>>> setups >>>>>>> so to verified it could handle 4x our normal daily load and left it >>>>>>> at >>>>>>> that. >>>>>>> I didn't actually compare the two (although that might be cool to do >>>>>>> someday). >>>>>>> I really like the idea of Apache+mod_gluster as I don't have to deal >>>>>>> >>>>>> with >>>>> >>>>>> the whole fuse and mounting the filesystem. It always scares me >>>>>>> having >>>>>>> >>>>>> a >>>>> >>>>>> public facing webserver with your whole backend fileshare mounted >>>>>>> >>>>>> locally. >>>>> >>>>>> Its very slick for serving content such as media files. We serve >>>>>>> audio >>>>>>> content to our CDN with a pair of Apache/mod_gluster servers - >>>>>>> pushing >>>>>>> 200-300mbit on average daily and everything works very well. >>>>>>> >>>>>>> We run an apache+fuse+gluster setup because we need to run some >>>>>>> mod_perl >>>>>>> before serving the actual content. However performance is still very >>>>>>> good. >>>>>>> We do around 50-100 requests (all jpeg images) per second off of a >>>>>>> fuse >>>>>>> mount and everything works great. We also have a java >>>>>>> >>>>>> tomcat+fuse+gluster >>>>> >>>>>> service which does image manipulation on the fly off of a gluster >>>>>>> mount. >>>>>>> >>>>>>> We have two backend gluster servers using replication which serve all >>>>>>> >>>>>> this >>>>> >>>>>> content. >>>>>>> >>>>>>> If you would like more information on our setup id be happy to share >>>>>>> offline. Just email me privately. >>>>>>> >>>>>>> thanks, >>>>>>> liam >>>>>>> >>>>>>> On Fri, Jul 24, 2009 at 8:08 AM, Somsak Sriprayoonsakul >>>>>>> <somsaks at gmail.com>wrote: >>>>>>> >>>>>>> Oh thank you, thought noone will reply me :) >>>>>>>> >>>>>>>> Have you tried Apache + Fuse over GlusterFS? How is the performance? >>>>>>>> >>>>>>>> Also, anyone in this mailing-list have tried Apache with booster? I >>>>>>>> tried >>>>>>>> it but Apache refuse to start (just hang and freeze). >>>>>>>> >>>>>>>> 2009/7/23 Liam Slusser <lslusser at gmail.com> >>>>>>>> >>>>>>>> >>>>>>>> We use mod_gluster and Apache >>>>>>>>> 2.2 with good results. We also ran into the same issue as you that >>>>>>>>> >>>>>>>> we >>>>> >>>>>> ran out of memory past 150 threads even on a 8gig machine. We got >>>>>>>>> >>>>>>>> around >>>>> >>>>>> this by compiling Apache using mpm-worker >>>>>>>>> (threads) instead of prefork - it uses 1/4 as much ram with the >>>>>>>>> same >>>>>>>>> number >>>>>>>>> of connections (150-200) and everything has been running smoothly. >>>>>>>>> I >>>>>>>>> cannot >>>>>>>>> see any performance difference except it using way less memory. >>>>>>>>> liam >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, Jul 12, 2009 at 5:11 AM, Somsak Sriprayoonsakul < >>>>>>>>> somsaks at gmail.com> wrote: >>>>>>>>> >>>>>>>>> Hello, >>>>>>>>>> >>>>>>>>>> We have been evaluating the choice for the new platform for a >>>>>>>>>> >>>>>>>>> webboard >>>>> >>>>>> system. >>>>>>>>>> The webboard is PHP scripts that generate/modify HTML page when >>>>>>>>>> user >>>>>>>>>> posting/add comment to the page, resulting topic is actually >>>>>>>>>> stored >>>>>>>>>> >>>>>>>>> as >>>>> >>>>>> a >>>>>>>>>> HTML file with all related file (file attach to the topic, etc.. >>>>>>>>>> )stored in >>>>>>>>>> its own directory for each topic. In general, the web site mostly >>>>>>>>>> serve a >>>>>>>>>> lot of small static files using Apache while using PHP to do other >>>>>>>>>> dynamic >>>>>>>>>> contents. This system has been working very well in the past, with >>>>>>>>>> >>>>>>>>> the >>>>> >>>>>> increasing page view rate, it is very likely that we will need some >>>>>>>>>> kind of >>>>>>>>>> Cluster file system as backend very soon. >>>>>>>>>> >>>>>>>>>> We have set up a test system using Grinder as stress test tool. >>>>>>>>>> The >>>>>>>>>> test >>>>>>>>>> system is 11 machines of Intel Dual Core x86_64 CentOS5 with stock >>>>>>>>>> Apache >>>>>>>>>> (prefork, since the goal is to use this with PHP), linked together >>>>>>>>>> with >>>>>>>>>> Gigabit Ethernet. We try to compare the performance of either >>>>>>>>>> using >>>>>>>>>> single >>>>>>>>>> NFS server in sync mode against using 4 Gluster nodes (distribute >>>>>>>>>> of >>>>>>>>>> >>>>>>>>> 2 >>>>> >>>>>> replicated nodes) through Fuse. However, the transaction per second >>>>>>>>>> (TPS) >>>>>>>>>> result is not good. >>>>>>>>>> >>>>>>>>>> NFS (single server, sync mode) >>>>>>>>>> - 100 thread of client - Peak TPS = 1716.67, Avg. TPS = 1066, >>>>>>>>>> mean >>>>>>>>>> response time = 61.63 ms >>>>>>>>>> - 200 threads - Peak TPS = 2790, Avg. TPS = 1716, mean rt = 87.33 >>>>>>>>>> >>>>>>>>> ms >>>>> >>>>>> - 400 threads - Peak TPS = 3810, Avg. TPS = 1800, mean rt = 165ms >>>>>>>>>> - 600 threads - Peak TPS = 4506.67, Avg. TPS = 1676.67, mean rt = >>>>>>>>>> 287.33ms >>>>>>>>>> >>>>>>>>>> 4 nodes Gluster (2 distribute of replicated 2 node) >>>>>>>>>> - 100 thread - peak TPS = 1293.33, Avg. TPS = 430, mean rt = >>>>>>>>>> >>>>>>>>> 207.33ms >>>>> >>>>>> - 200 threads - Peak TPS = 974.67, Avg. TPS = 245.33, mean rt = >>>>>>>>>> 672.67ms >>>>>>>>>> - 300 threads - Peak TPS = 861.33, Avg. TPS = 210, mean rt = >>>>>>>>>> 931.33 >>>>>>>>>> (no 400-600 threads since we run out of client machine, sorry). >>>>>>>>>> >>>>>>>>>> gfsd is configured to use 32 thread of iothread as brick. >>>>>>>>>> gfs-client >>>>>>>>>> is >>>>>>>>>> configured to use >>>>>>>>>> io-cache->write-behind->readahead->distribute->replicate. >>>>>>>>>> io-cache cache-size is 256MB. I used patched Fuse downloaded from >>>>>>>>>> Gluster >>>>>>>>>> web-site (build through DKMS). >>>>>>>>>> >>>>>>>>>> As the result yield, it seems that Gluster performance worse with >>>>>>>>>> increasing no. of client. One observation is that the glusterfs >>>>>>>>>> process on >>>>>>>>>> client is taking about 100% of CPU during all the tests. >>>>>>>>>> glusterfsd >>>>>>>>>> >>>>>>>>> is >>>>> >>>>>> utilizing only 70-80% of CPUs during the test time. Note that system >>>>>>>>>> is Dual >>>>>>>>>> core. >>>>>>>>>> >>>>>>>>>> I also tried using modglusterfs and not using fuse at all to serve >>>>>>>>>> >>>>>>>>> all >>>>> >>>>>> the static files and conduct another test with Grinder. The result >>>>>>>>>> >>>>>>>>> is >>>>> >>>>>> about >>>>>>>>>> the same, 1000+ peak TPS with 2-400 avg. TPS. A problem arise in >>>>>>>>>> >>>>>>>>> this >>>>> >>>>>> test >>>>>>>>>> that each Apache prefork process used more about twice more memory >>>>>>>>>> >>>>>>>>> and >>>>> >>>>>> we >>>>>>>>>> need to lower number of httpd processes by about half. >>>>>>>>>> >>>>>>>>>> I tried disable EnableMMAP and it didn't help much. Adjusting >>>>>>>>>> readahead, >>>>>>>>>> write behind according to GlusterOptimization page didn't help >>>>>>>>>> much >>>>>>>>>> either. >>>>>>>>>> >>>>>>>>>> My question is, there seems to be bottleneck in this setup, but >>>>>>>>>> how >>>>>>>>>> can I >>>>>>>>>> track this? Note that, I didn't do any other optimization other >>>>>>>>>> than >>>>>>>>>> what >>>>>>>>>> said above. Are there any best practice configuration for using >>>>>>>>>> >>>>>>>>> Apache >>>>> >>>>>> to >>>>>>>>>> serve a bunch of small static files like this around? >>>>>>>>>> >>>>>>>>>> Regards, >>>>>>>>>> >>>>>>>>>> Somsak >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Gluster-users mailing list >>>>>>>>>> Gluster-users at gluster.org >>>>>>>>>> http://zresearch.com/cgi-bin/mailman/listinfo/gluster-users >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>> Gluster-users mailing list >>>>>>> Gluster-users at gluster.org >>>>>>> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users >>>>>>> >>>>>> >>>>>> >>>>> regards, >>>>> -- >>>>> Raghavendra G >>>>> >>>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> Gluster-users mailing list >>>> Gluster-users at gluster.org >>>> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users >>>> >>> >>> >> > > > -- > Raghavendra G > >