Time Based Data Processing Speed Test over the Linux

İşletim sistemleri, verilerin bir kısmını işlenmek üzere “filo” algoritması aracılığıyla byte byte hafıza’nın stack segmentinde tutar.Sonrasında ilgili veriler, process edilmek üzere önce önbellek ardından cpu’nun temel işlem döngüsüne sokulmak üzere sıraya alınır.Günümüz operating sistemleri, process ettiği her işlemi (executing,reading,writing) bir süreliğine bellek içerisine depolar.Dolayısıyı ile aynı işlem belli bir süre içerisinde tekrar çalıştırılmak istendiğinde; işlenmek istenen veri, depolanan bellek üzerinden çağrılır. Böylece cpu üzerindeki processing time’da azaltılmış olur.Bu işlemler tamamen sistem kaynakları’nın performasını artırmak adına tasarlanmıştır.Dolayısı ile veriler depolanmak durumundadır.Aksi halde processing süresi uzayan her işlem, hafıza üzerinde yeteri miktarda alan allocate edemez ve virtual disk(swap) üzerinde kendine yer edinmeye başlar.Zira bu durum, belleğe oranla yapılan işlemlerin daha da uzamasına sebep olacaktır.

Konuyu biraz daha netleştirmek adına, find komutu ile örnek bir execution işlemi yapalım.Amacımız bir dizinde bulunan tüm “.txt” uzantılı dosyaların ne kadar bir süre zarfında listeleneceğini tespit etmek olsun.Komut başına eklenen “time”, sadece ilgili işlemin ne kadar bir zaman diliminde tamamlandığını gösterecektir.

[root@x ~]# time find . -type f -name “*.txt” -exec ls -l {} \; > /dev/null

real    0m0.616s
user    0m0.044s
sys     0m0.095s

Aynı komut, ikinci defa çalıştırıldığında ciddi oranda processing süresinde azalma meydana geldiği detayları ile gözlemleniyor.

[root@x ~]# time find . -type f -name “*.txt” -exec ls -l {} \; > /dev/null

real    0m0.284s
user    0m0.039s
sys     0m0.087s

Not:

Time, linux üzerinde halihazırda bulunan bir komuttur. Temel işlevi; real,user ve sys(system)bazlı bir verinin ne kadar zaman diliminde read,execute veya write edildiğini belirtmektir.

[root@x ~]# ldd /usr/bin/time
        linux-vdso.so.1 =>  (0x00007fff6bb78000)
        libc.so.6 => /lib64/libc.so.6 (0x00000038ff400000)
        /lib64/ld-linux-x86-64.so.2 (0x00000038ff000000)

[root@x ~]# rpm -qi time
Name        : time                         Relocations: /usr
Version     : 1.7                               Vendor: CentOS
Release     : 27.2.2                        Build Date: Sat 24 May 2008 03:44:24 PM EEST
Install Date: Sat 19 Feb 2011 03:36:54 AM EET      Build Host: builder15.centos.org
Group       : Applications/System           Source RPM: time-1.7-27.2.2.src.rpm
Size        : 20321                            License: GPL
Signature   : DSA/SHA1, Sun 15 Jun 2008 05:04:20 PM EEST, Key ID a8a447dce8562897
Summary     : A GNU utility for monitoring a program’s use of system resources.
Description :
The GNU time utility runs another program, collects information about
the resources used by that program while it is running, and displays
the results.

Benzeri testleri, read ve/veya write processing yaparak da gözlemlemek mümkün.Özellikle çalıştırılacak veya işlenecek bir verinin zaman süreçlerini incelemede fazlasıyla işe yarayacaktır.

Share on Facebook

Leave a Reply

Your email address will not be published. Required fields are marked *

*


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>