Perl slowness

Perl slowness

Noam Meltzer tsnoam at gmail.com
Tue Sep 8 16:13:07 IDT 2009


Hi,

I would try to focus on the I/O issue. (best guess I have so far)
Some things I would check:
1. file system cache. mayeb the file is already in cache? maybe all memory
is allocated and no free ram for cache? etc.
2. dmesg and/or /var/log/messages -> check if there are weird I/O errors.
(same for raid controller if any)
3. iostat / sar. check the disk performance. see the numbers, especially
throughput, service time & average wait looks reasonable.


On Tue, Sep 8, 2009 at 3:30 PM, Noam Rathaus <noamr at beyondsecurity.com>wrote:

> Hi Noam,
>
> Yes I looked with strace.
>
> The most notable difference is the read time on files (new HD)
> 0.047210 read(7, " <= 0)\n {\n  $numLimit = 10;\n }\n\n "..., 4096)
>
> Instead of (old HW)
> 0.001462 read(6, "owItem = $1;\n\n my $RowItems = $s"..., 4096) = 4096
>
> That is 40 times slower (it is the same file being opened)
>
> I have no idea why there is such a difference
>
> hdparm on the old:
> hdparm -t /dev/sda
>
> /dev/sda:
>  Timing buffered disk reads:  190 MB in  3.02 seconds =  62.87 MB/sec
>
> hdparm on the new:
> # hdparm -t /dev/sda
>
> /dev/sda:
>  Timing buffered disk reads:  314 MB in  3.01 seconds = 104.22 MB/sec
>
>
> On Tue, Sep 8, 2009 at 3:02 PM, Noam Meltzer <tsnoam at gmail.com> wrote:
>
>> Did you try to check with strace ?
>>
>> 2009/9/8 Noam Rathaus <noamr at beyondsecurity.com>
>>
>>> Hi,
>>>
>>> I have two machines, their hardware is not identical, but their
>>> installation is.
>>>
>>> One is a 3 years old DELL server, while the other is a 1 year old server.
>>>
>>> One is running 2.6.26-2-686 while the other 2.6.30-1-686
>>>
>>> What I am seeing is slow startup - emphasis on startup, the code works
>>> fast once its running - of perl scripts
>>>
>>> Even the smallest perl script such as this:
>>> ===
>>> #!/usr/bin/perl
>>>
>>> use lib '/usr/local/MySystem/lib';
>>>
>>> use DB;
>>>
>>> ===
>>>
>>> Take 7 seconds to start, in comparison to 0.030secods
>>>
>>> If I don't use the "use DB;" which my package
>>>
>>> It loads fast
>>>
>>> I am trying to figure out why, I checked the HD speeds via hdparam, the
>>> newer server is 1.5 times faster 103MB/sec
>>>
>>> I tried to see what libraries were being used, used strace, but I can't
>>> see something "big" that is causing the delay.
>>>
>>> The "use DB;" can be replaced with any other "custom" library package I
>>> wrote, they all take 2-7 seconds to load, while on the other machine it
>>> takes negligible time
>>>
>>> Does someone have a "thread" to cling to?
>>>
>>> Thanks,
>>> Noam Rathaus
>>>
>>> _______________________________________________
>>> Linux-il mailing list
>>> Linux-il at cs.huji.ac.il
>>> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20090908/356729da/attachment.html>


More information about the Linux-il mailing list