All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
To: "Senén de Diego" <senen-qHrp9QoZuCS1Z/+hSey0Gg@public.gmane.org>
Cc: linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Performance degradation with ISAM tables
Date: Thu, 13 Dec 2012 21:39:29 -0500	[thread overview]
Message-ID: <20121213213929.0eea2f5f@corrin.poochiereds.net> (raw)
In-Reply-To: <50CA5C4C.60103-qHrp9QoZuCS1Z/+hSey0Gg@public.gmane.org>

On Thu, 13 Dec 2012 23:53:00 +0100
Senén de Diego <senen-qHrp9QoZuCS1Z/+hSey0Gg@public.gmane.org> wrote:

> Hello,
> 
> I'm executing, in a linux server, a program that reads data from dbf 
> files in a windows share. I've tried to execute the same program in an 
> upgraded server and I've found that it runs much much much slower.
> 
> These are the versions of the first (older) server:
> kernel: 2.6.37.6-24
> cifs.ko: 1.68
> 
> and of the second (newer):
> kernel: 3.4.11-2.16
> cifs.ko: 1.78
> 
> The windows machine runs windows 2000 server and has EnableOplocks 
> disabled in the LanManServer service.
> 
> The windows share is mounted as a cifs file system with some differences 
> in the parameters assigned by default:
> first server: rsize=16384,wsize=57344
> second server: sec=ntlm,nounix,rsize=61440,wsize=65536
> 
> I've captured the network traffic in both servers, and these are the 
> service response time statistics:
> 
> First server:
> =================================================================
> SMB SRT Statistics:
> Filter:
> Commands                   Calls    Min SRT    Max SRT    Avg SRT
> Close                         37   0.000140   0.001635   0.000404
> Read AndX                  11554   0.000196   0.017179   0.002099
> Write AndX                    12   0.000255   0.000657   0.000510
> NT Create AndX                43   0.000190   0.000406   0.000237
> 
> Transaction2 Commands      Calls    Min SRT    Max SRT    Avg SRT
> FIND_FIRST2                   83   0.000747   0.001953   0.001735
> FIND_NEXT2                   880   0.000486   0.002885   0.001711
> QUERY_PATH_INFO            25678   0.000170   0.005451   0.000250
> QUERY_FILE_INFO               67   0.000169   0.000206   0.000182
> 
> NT Transaction Commands    Calls    Min SRT    Max SRT    Avg SRT
> =================================================================
> 
> Second server:
> =================================================================
> SMB SRT Statistics:
> Filter:
> Commands                   Calls    Min SRT    Max SRT    Avg SRT
> Close                        118   0.000128   0.006194   0.000517
> Trans                          1   0.000872   0.000872   0.000872
> Read AndX                   3490   0.000260   0.019713   0.009729
> Write AndX                    12   0.000508   0.000522   0.000515
> NT Create AndX               118   0.000253   0.001496   0.000342
> 
> Transaction2 Commands      Calls    Min SRT    Max SRT    Avg SRT
> FIND_FIRST2                  171   0.000761   0.002862   0.002404
> FIND_NEXT2                   326   0.002342   0.003058   0.002429
> QUERY_PATH_INFO           318093   0.000168   0.041616   0.000320
> QUERY_FILE_INFO              137   0.000235   0.002855   0.000370
> 
> NT Transaction Commands    Calls    Min SRT    Max SRT    Avg SRT
> =================================================================
> 
> where there is a great difference in the number of calls, specially in 
> the number of QUERY_PATH_INFO commands executed. And the average SRT are 
> also slower in the newer server.
> 
> I would like to know what is the cause and what can I do to correct this?
> 
> 

The difference between those two kernel represents more than a year of
development time. The best first step you can take is to try a more
recent kernel (like something 3.7-ish) to see if that might help.

The next problem is that it's difficult for us to infer anything about
your workload. You'll probably need to do some investigative work to
figure out what's actually slow. In particular, if you can phrase the
problem in terms of particular syscalls being slower, then we might be
able to help you more.

Even better is to come up with a small reproducer program that
demonstrates the slowdown.

-- 
Jeff Layton <jlayton-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>

  parent reply	other threads:[~2012-12-14  2:39 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-13 22:53 Performance degradation with ISAM tables Senén de Diego
     [not found] ` <50CA5C4C.60103-qHrp9QoZuCS1Z/+hSey0Gg@public.gmane.org>
2012-12-14  2:39   ` Jeff Layton [this message]
     [not found]     ` <20121213213929.0eea2f5f-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2012-12-14 23:11       ` Senén de Diego
     [not found]         ` <50CBB21B.3080908-qHrp9QoZuCS1Z/+hSey0Gg@public.gmane.org>
2012-12-14 23:20           ` Steve French
     [not found]             ` <CAH2r5mv6njgwQpSUMD106BExG8b9ErRPdpeoC2eSj0mff3Hs6w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-12-15 14:39               ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121213213929.0eea2f5f@corrin.poochiereds.net \
    --to=jlayton-eunubhrolfbytjvyw6ydsg@public.gmane.org \
    --cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=senen-qHrp9QoZuCS1Z/+hSey0Gg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.