Perl slowness
Noam Rathaus
noamr at beyondsecurity.com
Tue Sep 8 16:26:41 IDT 2009
Hi Noam,
1) Both machines have 2GB of memory and are using 200Mb of it..
I think the problem is not memory
2) no weird errors, of any kind in the dmesg or /var/log
The newer machine is very new :) I wrote 1 year, it is actually 3 months, I
don't think its a hardware malfunction, but I could be wrong
3) What is iostat / sar ? how would you measure those values? I thought
hdparm was accurate, I guess it isn't
On Tue, Sep 8, 2009 at 4:13 PM, Noam Meltzer <tsnoam at gmail.com> wrote:
> 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/c3a1ae7c/attachment-0001.html>
More information about the Linux-il
mailing list