لینوکس خود را بدون ریست کردن، آپدیت کنید

عشاق ویندوز حتما با ریست های گاه و بیگاه ویندوز آشنا هستند. تقریبا برای هر اتفاق ساده ای شما مجبور میشید که ویندوز رو یه ریست بدید. در طرف مقابل لینوکس قرار داره که شما در سال شاید دو دفعه مجبور به ریست کردن اون بشید. یکی از اون مواقع آپدیت کرنل هست.  اما امروز برای این مشکل هم یک راه حلی پیدا شده  و اون استفاده از Ksplice و اوبونتو هست.  در اصل این برنامه عملیات به روزرسانی لینوکس رو  به عهده میگیره. به محض اینکه کرنل نسخه جدید ظاهر بشه شما، خبرش رو در اوبونتو خودتون می بینید و با یه کلیک خیلی ساده قادر خواهید بود تا کرنل سیستم رو آپدیت کنید.

دانلود برنامه
راهنمای استفاده از برنامه
آشنایی با اعلام وضعیتهای برنامه

اینجا مقایسه جالبی بین فایل سیستمهای جدید و تازه از تنور در اومده شده.  سه تا فایل سیستم جدید EXT4، Btrfs، NILFS2 هستند. در جاهایی هم که برنده فایل سیستم قدیم بوده، نامی از اونها هم اورده. به عنوان مثال در نمودار مربوط به SQLite سیستم فایل EXT3 با اختلاف ۸۰۰ تا ۱۰۰۰ ثانیه ای از فایل سیستم های جدید جلو هست! جالبه بدونید برنامه هایی مثل فایرففاکس و برنامه های آدوب از SQLite استفاده می کنند!

خبر جدید دیگه اینکه توزیع PCBSDنسخه ریلیز کاندید دومش منتشر شد. این توزیع رو من به این دلیل که نسخه کاربر پسند فری بی اس دی هست خیلی خیلی دوست دارم. یک یونیکس با میزکاری کی دی ای! تا جایی هم که دلتون بخواد پر از باگه که البته با اومدن نسخه های جدید کی دی ای و همینطور بالارفتن تجربه سازندگان در مورد اینکه چگونه میشه کی دی ای رو به یونیکس چسبوند، امید است که در این نسخه تعداد باگها به شدت کم شده باشه:) در ضمن این نسخه من رو یه جورایی یاد سیستم عامل محبوب اپل، یعنی لئوپارد هم میندازه!  و حالا که حرف از کی دی ای شده، بگم همین تازه تازه اپن سوزه  نسخه جدیدش بیرون اومد. کرنل نسخه ۲٫۶٫۳۰، کی دی ای ۴٫۳ بتا دو، گنوم ۲٫۲۷٫۲  و اپن آفیس ۳٫۱٫۱ آلفا هم بسته های جدیدی هست که در این نسخه به روزرسانی شده اند.

راه اندازی وب سرور با استفاده از اپرا

خوب این چند وقته که سرعت اینترنت ما به یک کیلو بایت در ثانیه تزلزل پیدا کرده، فرصت خوبی بود که با مرورگر اپرا مانوس شم. و الحق باید گفت که با این سرعت افتضاح هیچ مرورگری توان رقابت با اپرا رو نداره. اما همین مرورگر برنامه هایی رو داره که شما باید اونها رو نصب کنید. به عنوان مثال شما تصور کنید با میکروفون می توانید به اپرا دستور بدید که چیکار بکنه و یا نکنه. در ضمن بگم که اپرا برنامه ای بسیار قوی برای مدیریت پسورد به اسم Wand هم داره. بازم میگم یه سری از این برنامه ها به صورت توکار در خود اپرا هست و بعضی دیگر رو شما باید دانلود کنید. برنامه Opera Unit از اون برنامه هایی هست که شما باید برید اون رو دانلود کنید.این برنامه  به زودی قراره به صورت توکار هم در خود مرورگر اپرا  گنجونده شه. این برنامه برای نسخه های لینوکس، مک و ویندوز موجوده و فعلا در حالت آلفا به سر میبره و طبیعی هست که مشکلاتی رو داشته باشه. حالا ببینیم این برنامه کارش چیه؟ با برنامه Opera Unite شما می توانید فایلهای موجود بر روی کامپیوتر خود را با دیگران به اشتراک بگذارید. فایلهایی همچون عکس، تصویر و نوشته و هر چیزی که فکرش رو بکنید. در اصل این فایلهای اشتراکی رو می توانید هم برای دوستان و هم برای کل دنیا به اشتراک بگذارید. حتی شما میتوانید از اپلت هایی استفاده کنید که به شما اجازه ایجاد یک محیط چت و همینطور فروم را میدهند! در اصل باید بگیم شما با این برنامه می توانید یک سایت راه اندازی کنید و اون رو با دیگران به اشتراک بگذارید.
برای انجام اینکار باید پورت ۸۸۴۰ باز باشه . برای اینکه بقیه بتوانند از فایل های اشتراکی شما استفاده کنند کافیه فقط URL آماده شده توسط برنامه Unite رو به دوستانتون بدهید. توجه داشته باشید که این ارتباط به صورت زنده هست و تا مادامی ارتباط برقرار هست که شما آنلاین باشید. طبیعی است که برای داشتن یک ارتباط خوب شما باید از سرعت خوبی برخوردار باشید. نحوه ساخت URL هم به صورت زیر هست:
اسم کامپیوتر شما، نام کاربری استفاده شده برای اپرا، اسم سرویسی از برنامه Unite که در حال استفاده هستید(برای مثال سرویس به اشتراک گذاری فایل) و پسورد شما، همگی در این آدرس خواهند بود! آدرسی شبیه به زیر خواهد بود.

http://yourPC.Operausername.operaunite.com/ servicename/access_content/password

نکته ی حائز اهمیت اینکه شما هر آنچه را که تصور کنید می توانید با دوستان و خانواده خود به اشتراک گذارید بدون اینکه مجبور شوید، فایل را در سایتی آپلود کنید. برای اینکار کافیست آنلاین باشید. در اصل ارتباط به نوعی P2P است. اما نکته منفی این برنامه این هست که پسورد شما رو هم در آدرس قرار میده و این امر به شدت به امنیت لطمه می زنه. یعنی فردی که آدرس شما رو میبینه، پسورد رو هم به راحتی می بینه! البته مسلما این عیب تو نسخه های بعدی قابل رفع شدن هست. خوب با این روش شما حتی خودتون هم می توانید از راه دور به فایلهای موجود بر روی کامپیوتر خودتون دسترسی پیداکنید. کافیه آدرس ساخته شده را به ایمیل خودتون بفرستید.

لینک دانلود برنامه

سرویس اشتراک عکس

سرویس اشتراک فایل

سرویس اشتراک آهنگ

سرویس راه اندازی چت

سرویس راه اندازی وب سرور

آدرس اصلی سایت

منبع

مقایسه‌ی فایل ‌سیستم‌های لینوکس (ext3 ,reiser,xfs,jfs)

من خودم یه پی‌سی درب و داغون دارم که قدرت محاسباتیش با اورکلاک الان شده ۹۰۰ مگاهرتز و بچه‌ها بهش می‌گن پنتیوم تری!!‌ الانم روش پارسیکس نصبه!. یکی از برنامه‌های معروف پارسیکس هم دیکشنری اون هستش(xFarDic) که توسط آقای آلن باغومیان نوشته نوشته شده و مناسب برای محیط گنوم لینوکس هست. من از اونجایی که همیشه به یک رسم تبدیل شده و داخل همه کتابهای  مربوط به لینوکس هم نوشته شده سیستم فایل رو ext3 انتخاب می‌کنم. نتیجه این می‌شد که دیکشنری آقای آلن باغومیان نتیجه بسیار بدی رو به همراه داشت!‌ یعنی وقتی یک لغت رو وارد می‌کردم و می‌خواستم دنبالش بگردم یه نیم‌ساعتی هارد ما درگیر می‌شد تا لغت مورد نظر رو بتونه پیدا کنه ! چند وقت بعد از روی کنجکاوی اومدیم و فایل سیستم لینوکس رو به  JFS تغییر دادیم و  بعد اولین تغییر محسوس رو در دیکشنری آقای آلن شاهد بودیم! ‌نتیجه خیره کننده بود!!‌ به محض وارد کردن هر لغتی معنی اون رو جلوی چشمانم می‌دیدم!‌ اصلا باورم نمی‌شد !‌ تا اینکه چند روز پیش به آزمایشی علمی در یکی از سایت‌های معتبر برخورد کردم که که این برتری  سیستم فایل JFS رو نشون می‌داد. بد ندیدم  ترجمه‌ی این آزمایش رو اینجا بگذارم تا شاید بتونم نگرش افراد رو در مورد سیستم‌ فایل‌های لینوکس تغییر بدم. از قبل هم بگم که این مقاله بر روی سخت‌افزارهای قدیمی (پنیتوم ۳ و ۲ و همچنین هاردهای آی‌دی‌ای تست شده).

سیستم دقیق این تست به قرار زیر هستش.

    Hardware

  • Processor : Intel Celeron 533
  • RAM : 512MB RAM PC100
  • Motherboard : ASUS P2B
  • Hard drive : WD Caviar SE 160GB (EIDE 100, 7200 RPM, 8MB Cache)
  • Controller : ATA/133 PCI (Silicon Image)
    OS

  • Debian Etch (kernel 2.6.15), distribution upgraded on April 18, 2006
  • All optional daemons killed (cron,ssh,saMBa,etc.)
    Filesystems

  • Ext3 (e2fsprogs 1.38)
  • ReiserFS (reiserfsprogs 1.3.6.19)
  • JFS (jfsutils 1.1.8)
  • XFS (xfsprogs 2.7.14)

توضیح کارهای انجام شده

کارهای انجام شده بر روی یک فایل بزرگ به حجم ۷۰۰ مگابایت و از نوع ایزو ایمیج (ISO Image)

  • کپی این فایل ایزو از یک هارد ثانی به هارد مورد تست
  • کپی مجدد فایل ایزو به یک مکانی دیگر در هارد مورد تست
  • پاک‌ سازی هر دو فایل ایزو از روی هارد مورد تست

کارهای انجام شده بر روی درختی از فایل(شامل ۷۵۰۰ فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگابایت)

  • کپی درخت فایل از یک هارد ثانی به هارد مورد تست
  • کپی مجدد درخت فایل در مکانی دیگر بر روی هارد مورد تست
  • پاکسازی هر دو درخت فایل بر از روی هارد مورد تست

کارهای انجام شده داخل درخت قایل

  • گرفتن لیست بازگشتی از تمام محتوای درخت فایل و دخیره‌ی آن بر روی هارد آزمایش شده
  • جستجوی فایل‌های مورد نظر از داخل درخت فایل با کمک کاراکترهای جستجو(؟ و *)

کارهای انجام شده بر روی فایل سیستم

  • ایجاد فایل سیستم به کمک دستور mkfs (همه‌ی فایل سیستم‌ها با مقادیر پیشفرض ایجاد شده‌اند)
  • مانت کردن فایل سیستم
  • آن‌مانت کردن فایل سیستم

نتایج

ظرفیت پارتیشن

ظرفیت پارتیشن ابتدایی (پارتیشن بلافاصله بعد از ایجاد فایل سیستم) و ظرفیت پارتیشن مانده (پارتیشن بعد از پاک سازی همه فایل‌ها)‌ توسط نسبت عددی محاسبه می‌شود که معرف بلاک‌های در دسترس از تمام بلاک‌های موجود بر روی پارتیشن می‌باشد که Ext3 بدترین نتیجه رو در ظرفیت ابتدایی کسب می‌کنه (۹۲٫۷۷%) در حالی که باقی فایل سیستم‌ها تقریبا از تمامی ظرفیت پارتیشن استفاده می‌کنن (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%) . نکته جالب در ظرفیت مانده هست که در فایل سیستم Ext3 و ReiserFS ظرفیت مانده با ظرفیت ابتدایی هیچ فرقی نداره در حالی که ظرفیت مانده فایل سیستم‌های JFS و XFS مفداری از ظرفیت پارتیشن رو از دست می‌دن (۰٫۰۲%) که البته مقدار کمیه. و بعد هم مقداری دوباره به ظرفیت ابتدایی نزدیک می‌شوند ولی به صورت کامل نمی‌توانند به آن برسند.
نتیجه: برای استفاده‌ی حداکثری از ظرفیت پارتیشن خودتون یکی از فایل سیستم‌های ReiserFS، JFS، XFS را انتخاب نمایید.

ایجاد فایل سیستم، مانت کردن و آنت‌مانت کردن آن

ایجاد فایل سیستم بر روی ۲۰ گیگابایت از هارد مورد تست برای نوع Ext3 ، زمان ۱۴.۷ ثانیه را لازم دارد که با زمان ۲ ثانیه‌ای و یا کمتر برای ایجاد دیگر فایل سیستم‌ها قابل مقایسه هست. (ReiserFS = 2.2, JFS = 1.3, XFS = 0.7) با این وجود مانت کردن ReiserFS پنج تا ۱۵ بار زمان بیشتری(۲.۳ ثانیه) را نسبت به دیگر فایل سیستم‌ها نیاز دارد (Ext3 = 0.2, JFS = 0.2, XFS = 0.5) و برای عمل آن‌مانت کردن آن (۰.۴ ثانیه)‌ ۲ برابر دیگر فایل ‌سیستم‌ها نیاز به زمان می‌باشد. در مورد مقایسه میزان مصرف پردازشگر در مورد ایجاد فایل سیستم‌ها بین ۵۹٪ در مورد ReiserFS تا ۷۴٪ برای JFS متغیر می‌باشد. و مانت کردن فایل‌ سیستم‌ها بین ۶ تا ۹ درصد می‌باشد با این وجود عمل آن‌مانت کردن Ext3 و XFS دو برابر دیگر فایل سیستم‌ها مصرف پردازشگر دارند (۳۷ تا ۴۵ درصد) که با مصرف ۱۴ درصدی ReiserFS و ۲۷ درصدی JFS قابل مقایسه می‌باشند.
نتیجه:‌برای ایجاد سریع فایل سیستم و همچنین سرعت در عمل مانت و آن‌مانت کردن فایل ‌سیستم JFS و یا XFS را استفاده کنید.

کار با فایل‌های بزرگ (ISO Image با حجم ۷۰۰ مگابایت)

زمان لازم برای کپی ابتدایی این فایل بزرگ بر روی فایل ‌سیستم‌ها برای  Ext3 با زمان ۳۸.۲ و ReiserFS با زمان ۴۱.۸ ثانیه بود که با زمان ۳۵.۱ ثانیه‌ای JFS و ۳۴.۸ ثانیه‌ای XFS قابل مقایسه می‌باشد. کپی مجددی را از همین فایل و بر روی همان هارد در مکانی دیگر انجام دادیم. برتری با XFS با زمان ۳۳.۱ ثانیه‌ای بود که در مقایسه با فایل ‌سیستم‌های دیگر (Ext3 = 37.3, JFS = 39.4, ReiserFS = 43.9) با معنی بود. پاکسازی این فایل ایزو بر فایل‌‌سیستم‌های JFS و XFS با زمان ۰.۰۲ ثانیه برای هر دو صد برابر سریعتر از دیگر فایل‌ سیستم‌ها بود (۱.۵ ثانیه برای ReiserFS و ۲.۵ ثانیه برای Ext3)!!‌ همه‌ی فایل‌ سیستم‌ها در مورد میزان مصرف پردازشگر در هنگام کپی ابتدایی فایل ایزو مقادیری بین ۴۶ تا ۵۱ درصد بود و میزان مصرفشان در هنگام کپی مجدد نیز بین ۳۸٪ تا ۵۰٪ بود . برای پاک کردن فایل ایزو هم ReiserFS نیاز به ۴۹ درصد از پردازشگر داشت در حالی که این مقدار برای دیگر فایل سیستم‌ها حدودا ۱۰ درصد بود. تمایل JFS به کمتر مصرف کردن از پردازشگر مشخص بود. (پنج تا ۱۰ درصد کمتر ). تعداد صفحات خطای کمتر (The number of minor page faults) بین فایل‌ سیستم‌ها مشابه بود(از ۶۰۰ خطا در XFS بگیرین تا ۶۶۱ خطا در ReiserFS)
نتیجه: ‌برای کار بر روی فایل‌های بزرگ JFS و XFS را انتخاب نمایید و اگر به  میزان مصرف کمتر پردازشگر از سوی فایل سیستم علاقه دارید، ‌JFS اصلح می‌باشد.

کار بر روی درخت فایل یا همون انبوهی از فایل‌ها و دابرکتوری‌های تو در تو (۷۵۰۰  فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگ)

کپی ابتدایی از این درخت بر روی هارد در سیستم‌فایل Ext3  با سرعت بیشتری انجام شد (۱۵۸.۳ ثانیه) و برای XFS این زمان به ۱۶۶.۱ ثانیه رسید که با ReiserFS با زمان ۱۷۲.۱ ثانیه و JFS با زمان ۱۸۰.۱ قابل مقایسه می‌باشند. نتایج مشابهی نیز برای کپی مجدد بر روی همین دیسک سخت برای این فایل سیستم‌ها بدست می‌آید. در کپی مجدد برتری همچنان با Ext3 با زمان ۱۲۰ ثانیه می‌باشد که قابل مقایسه با دیگر فایل سیستم‌ها می‌باشد (XFS = 135.2, ReiserFS = 136.9 and JFS = 151). با این وجود پاکسازی درخت فایل در Ext3 دو برابر (۲۲ ثانیه) در مقایسه با  ReiserFS با زمان ۸.۲ ثانیه و XFS با زمان ۱۰.۵ ثانیه و JFS با زمان ۱۲.۵ ثانیه، وفت برد!! همه‌ی فایل سیستم‌ها برای عمل کپی بین ۲۷ تا ۳۶ درصد از پردازشگر را به خود اختصاص دادند و برای کپی مجدد این مقدار بین ۲۹٪‌ از JFS تا ۴۵٪‌ از ReiserFS رسید.جای شگفت هست که ReiserFs و XFS برای پاک کردن درخت فایل به شدت پردازشگر رو اشغال می‌کردند (۸۶ درصد و ۶۵ درصد)‌ در حالی که در دیگر فایل سیستم‌ها این مقدار به ۱۵ درصد می‌رسید(Ext3 و JFS). در اینجا باز هم JFS تمایل کمتری به استفاده از پردازشگر رو نسبت به دیگر فایل ‌سیستم‌ها از خود نشون داد. تعداد صفحات خطا به صورت با معنی در ReiserFS بالا بود (۵۸۴۳) در حالی که برای دیگر فایل‌ سیستم‌ها این آمار بین ۱۴۰۰ تا ۱۴۹۰ بود. این تفاوت حتی به مقادیری بالاتری از صفخات خطا نیز (۵ تا ۲۰ برابر) در کپی مجدد و پاکسازی درخت فایل برای ReiserFS نسبت به دیگر فایل ‌سیستم‌ها می‌رسید!
نتیجه: برای انجام کارهای سریع بر روی فایل‌های انبوه و تو در تو موسوم به درخت فایل استفاده از Ext3 و یا XFS سفارش می‌شود.

لیست گرفتن از دایرکتوری‌ها و جستجوی فایل‌ها از داخل درخت فایل قبلی

لیست گرفتن از تمام دایرکتوری‌های این درخت فایل در ReiserFS با زمان ۱.۴ ثانیه و XFS با زمان ۱.۸ قابل مقایسه با Ext3 با زمان ۲.۵ و JFS با زمان ۳.۱ ثانیه می‌باشد. نتایج مشابهی نیز برای جستجوی فایل بدست آمد بدین ترتیب که زمان ۰.۸ ثانیه برای ReiserFS و زمان ۲.۸ ثانیه برای XFS بود که قابل مقایسه با زمان‌های ۴.۶ ثانیه‌ای Ext3 و ۵ ثانیه‌ای JFS بود. Ext3 و JFS به صورت مشابه در هنگام لیست کردن دایرکتوری‌ها ۳۵ درصد و در هنگام جستجوی فایل‌ها ۶ درصد از پردازشگر را اشغال می‌کردند. XFS مقدار بیشتری از پردازشگر را در هنگام لیست کردن فایل اشغال می‌کرد (۷۰ درصد)‌ والبته به همین ترتیب در مورد جستوجوی فایل عمل می‌کرد (۱۰ درصد). ReiserFS نیز استفاده‌ی افراطی را از پردازشگر برای خود به ثبت رساند  و به ترتیب ۷۱ و ۳۶ درصد از پردازشگر را برای لیست کردن دایرکتوری و جستجوی فایل به خود اختصاص ‌داد. و دوباره درباره تعداد کمتر صفحات خطا این تعداد در مورد ReiserFS سه برابر دیگر فایل‌ سیستم‌ها می‌باشد (۱۹۹۱ در برابر ۷۰۴ تا ۷۱۲ خطا).
نتیجه:انجام این آزمایش نشان داد که سرعت بیشتر ، در جستجو و لیست کردن دایرکتوری به همراه خود مصرف بیشتر پردازشگر را نیز دارد (ReiserFS و XFS)‌ و بالعکس (Ext3 و JFS)‌

نتیجه‌گیری کلی

نتیجه اینکه گرچه همه فایل سیستم‌ها خوب هستن اما در نهایت شما باید یکی رو انتخاب کنید. براساس نتایج بدست آمده XFS مناسب‌ترین گزینه برای کامپیوترهای خانگی و همینطور برای مقاصد تجاری اما در سطحی کوچک می‌باشد.
خلاصه‌ی دلایل برتری XFS

  • استفاده‌ی حداکثری از هارددیسک
  • سریع‌ترین فایل‌ سیستم برای ایجاد و مانت و آنت‌مانت کردن
  • سریعترین فایل‌ سیستم برای کار با فایل‌های حجیم (بیشتر از ۵۰۰ مگابایت)
  • این فایل سیستم مکان خوبی برای نگهداری بک‌آب فایل‌ها می‌باشد
  • استفاده از زمان و پردازشگر به صورت میانه برای لیست کردن و جستجوی فایل‌ها
  • اگرچه کمترین میزان مصرف رم به این فایل سیستم تعلق داره اما میزان کاملا قابل قبولی رو داره

منبع

Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch

نتایج آزمایش‌های مشابه دیگر

Benoit, M. (2003). Linux File System Benchmarks.

Piszcz, J. (2006). Benchmarking Filesystems Part II. Linux Gazette, 122 (January 2006).

یک نکته‌:‌من متوجه منظور مقاله از تعداد صفحات خطا نشدم! اگر کسی منظورش رو متوجه شد به ما هم بگه ممنون می‌شیم.
نکته بعدی: توجه به کامنت‌های این مقاله در سایت اصلی  هم بسیار می‌تونه جالب باشه! البته به نظر من تجربه هم می‌تونه مهم باشه! البته به شرطی که شما اطلاعات مهمی روی کامپیوترتون نداشته باشین!‌ اینطور که از شواهد پیداست(کامنت‌ها) وقتی شما XFS رو انتخاب می‌کنید احتمال اینکه به یکباره نصف طلاعات بپره وجود داره !!‌ برای فهم این موضوع شما باید با یک سری از اصطلاحات آشنا بشین. سعی می‌کنم توی یک پست دیگری جداگانه با ریز فایل سیستم‌ها شما رو آشنا کنم البته این به شرطی هست که خودم از اون چیزی سر دربیارم!!

مقایسه‌ی فایل ‌سیستم‌های لینوکس (ext3 ,reiser,xfs,jfs)

من خودم یه پی‌سی درب و داغون دارم که قدرت محاسباتیش با اورکلاک الان شده ۹۰۰ مگاهرتز و بچه‌ها بهش می‌گن پنتیوم تری!!‌ الانم روش پارسیکس نصبه!. یکی از برنامه‌های معروف پارسیکس هم دیکشنری اون هستش(xFarDic) که توسط آقای آلن باغومیان نوشته نوشته شده و مناسب برای محیط گنوم لینوکس هست. من از اونجایی که همیشه به یک رسم تبدیل شده و داخل همه کتابهای  مربوط به لینوکس هم نوشته شده سیستم فایل رو ext3 انتخاب می‌کنم. نتیجه این می‌شد که دیکشنری آقای آلن باغومیان نتیجه بسیار بدی رو به همراه داشت!‌ یعنی وقتی یک لغت رو وارد می‌کردم و می‌خواستم دنبالش بگردم یه نیم‌ساعتی هارد ما درگیر می‌شد تا لغت مورد نظر رو بتونه پیدا کنه ! چند وقت بعد از روی کنجکاوی اومدیم و فایل سیستم لینوکس رو به  JFS تغییر دادیم و  بعد اولین تغییر محسوس رو در دیکشنری آقای آلن شاهد بودیم! ‌نتیجه خیره کننده بود!!‌ به محض وارد کردن هر لغتی معنی اون رو جلوی چشمانم می‌دیدم!‌ اصلا باورم نمی‌شد !‌ تا اینکه چند روز پیش به آزمایشی علمی در یکی از سایت‌های معتبر برخورد کردم که که این برتری  سیستم فایل JFS رو نشون می‌داد. بد ندیدم  ترجمه‌ی این آزمایش رو اینجا بگذارم تا شاید بتونم نگرش افراد رو در مورد سیستم‌ فایل‌های لینوکس تغییر بدم. از قبل هم بگم که این مقاله بر روی سخت‌افزارهای قدیمی (پنیتوم ۳ و ۲ و همچنین هاردهای آی‌دی‌ای تست شده).

سیستم دقیق این تست به قرار زیر هستش.

    Hardware

  • Processor : Intel Celeron 533
  • RAM : 512MB RAM PC100
  • Motherboard : ASUS P2B
  • Hard drive : WD Caviar SE 160GB (EIDE 100, 7200 RPM, 8MB Cache)
  • Controller : ATA/133 PCI (Silicon Image)
    OS

  • Debian Etch (kernel 2.6.15), distribution upgraded on April 18, 2006
  • All optional daemons killed (cron,ssh,saMBa,etc.)
    Filesystems

  • Ext3 (e2fsprogs 1.38)
  • ReiserFS (reiserfsprogs 1.3.6.19)
  • JFS (jfsutils 1.1.8)
  • XFS (xfsprogs 2.7.14)

توضیح کارهای انجام شده

کارهای انجام شده بر روی یک فایل بزرگ به حجم ۷۰۰ مگابایت و از نوع ایزو ایمیج (ISO Image)

  • کپی این فایل ایزو از یک هارد ثانی به هارد مورد تست
  • کپی مجدد فایل ایزو به یک مکانی دیگر در هارد مورد تست
  • پاک‌ سازی هر دو فایل ایزو از روی هارد مورد تست

کارهای انجام شده بر روی درختی از فایل(شامل ۷۵۰۰ فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگابایت)

  • کپی درخت فایل از یک هارد ثانی به هارد مورد تست
  • کپی مجدد درخت فایل در مکانی دیگر بر روی هارد مورد تست
  • پاکسازی هر دو درخت فایل بر از روی هارد مورد تست

کارهای انجام شده داخل درخت قایل

  • گرفتن لیست بازگشتی از تمام محتوای درخت فایل و دخیره‌ی آن بر روی هارد آزمایش شده
  • جستجوی فایل‌های مورد نظر از داخل درخت فایل با کمک کاراکترهای جستجو(؟ و *)

کارهای انجام شده بر روی فایل سیستم

  • ایجاد فایل سیستم به کمک دستور mkfs (همه‌ی فایل سیستم‌ها با مقادیر پیشفرض ایجاد شده‌اند)
  • مانت کردن فایل سیستم
  • آن‌مانت کردن فایل سیستم

نتایج

ظرفیت پارتیشن

ظرفیت پارتیشن ابتدایی (پارتیشن بلافاصله بعد از ایجاد فایل سیستم) و ظرفیت پارتیشن مانده (پارتیشن بعد از پاک سازی همه فایل‌ها)‌ توسط نسبت عددی محاسبه می‌شود که معرف بلاک‌های در دسترس از تمام بلاک‌های موجود بر روی پارتیشن می‌باشد که Ext3 بدترین نتیجه رو در ظرفیت ابتدایی کسب می‌کنه (۹۲٫۷۷%) در حالی که باقی فایل سیستم‌ها تقریبا از تمامی ظرفیت پارتیشن استفاده می‌کنن (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%) . نکته جالب در ظرفیت مانده هست که در فایل سیستم Ext3 و ReiserFS ظرفیت مانده با ظرفیت ابتدایی هیچ فرقی نداره در حالی که ظرفیت مانده فایل سیستم‌های JFS و XFS مفداری از ظرفیت پارتیشن رو از دست می‌دن (۰٫۰۲%) که البته مقدار کمیه. و بعد هم مقداری دوباره به ظرفیت ابتدایی نزدیک می‌شوند ولی به صورت کامل نمی‌توانند به آن برسند.
نتیجه: برای استفاده‌ی حداکثری از ظرفیت پارتیشن خودتون یکی از فایل سیستم‌های ReiserFS، JFS، XFS را انتخاب نمایید.

ایجاد فایل سیستم، مانت کردن و آنت‌مانت کردن آن

ایجاد فایل سیستم بر روی ۲۰ گیگابایت از هارد مورد تست برای نوع Ext3 ، زمان ۱۴.۷ ثانیه را لازم دارد که با زمان ۲ ثانیه‌ای و یا کمتر برای ایجاد دیگر فایل سیستم‌ها قابل مقایسه هست. (ReiserFS = 2.2, JFS = 1.3, XFS = 0.7) با این وجود مانت کردن ReiserFS پنج تا ۱۵ بار زمان بیشتری(۲.۳ ثانیه) را نسبت به دیگر فایل سیستم‌ها نیاز دارد (Ext3 = 0.2, JFS = 0.2, XFS = 0.5) و برای عمل آن‌مانت کردن آن (۰.۴ ثانیه)‌ ۲ برابر دیگر فایل ‌سیستم‌ها نیاز به زمان می‌باشد. در مورد مقایسه میزان مصرف پردازشگر در مورد ایجاد فایل سیستم‌ها بین ۵۹٪ در مورد ReiserFS تا ۷۴٪ برای JFS متغیر می‌باشد. و مانت کردن فایل‌ سیستم‌ها بین ۶ تا ۹ درصد می‌باشد با این وجود عمل آن‌مانت کردن Ext3 و XFS دو برابر دیگر فایل سیستم‌ها مصرف پردازشگر دارند (۳۷ تا ۴۵ درصد) که با مصرف ۱۴ درصدی ReiserFS و ۲۷ درصدی JFS قابل مقایسه می‌باشند.
نتیجه:‌برای ایجاد سریع فایل سیستم و همچنین سرعت در عمل مانت و آن‌مانت کردن فایل ‌سیستم JFS و یا XFS را استفاده کنید.

کار با فایل‌های بزرگ (ISO Image با حجم ۷۰۰ مگابایت)

زمان لازم برای کپی ابتدایی این فایل بزرگ بر روی فایل ‌سیستم‌ها برای  Ext3 با زمان ۳۸.۲ و ReiserFS با زمان ۴۱.۸ ثانیه بود که با زمان ۳۵.۱ ثانیه‌ای JFS و ۳۴.۸ ثانیه‌ای XFS قابل مقایسه می‌باشد. کپی مجددی را از همین فایل و بر روی همان هارد در مکانی دیگر انجام دادیم. برتری با XFS با زمان ۳۳.۱ ثانیه‌ای بود که در مقایسه با فایل ‌سیستم‌های دیگر (Ext3 = 37.3, JFS = 39.4, ReiserFS = 43.9) با معنی بود. پاکسازی این فایل ایزو بر فایل‌‌سیستم‌های JFS و XFS با زمان ۰.۰۲ ثانیه برای هر دو صد برابر سریعتر از دیگر فایل‌ سیستم‌ها بود (۱.۵ ثانیه برای ReiserFS و ۲.۵ ثانیه برای Ext3)!!‌ همه‌ی فایل‌ سیستم‌ها در مورد میزان مصرف پردازشگر در هنگام کپی ابتدایی فایل ایزو مقادیری بین ۴۶ تا ۵۱ درصد بود و میزان مصرفشان در هنگام کپی مجدد نیز بین ۳۸٪ تا ۵۰٪ بود . برای پاک کردن فایل ایزو هم ReiserFS نیاز به ۴۹ درصد از پردازشگر داشت در حالی که این مقدار برای دیگر فایل سیستم‌ها حدودا ۱۰ درصد بود. تمایل JFS به کمتر مصرف کردن از پردازشگر مشخص بود. (پنج تا ۱۰ درصد کمتر ). تعداد صفحات خطای کمتر (The number of minor page faults) بین فایل‌ سیستم‌ها مشابه بود(از ۶۰۰ خطا در XFS بگیرین تا ۶۶۱ خطا در ReiserFS)
نتیجه: ‌برای کار بر روی فایل‌های بزرگ JFS و XFS را انتخاب نمایید و اگر به  میزان مصرف کمتر پردازشگر از سوی فایل سیستم علاقه دارید، ‌JFS اصلح می‌باشد.

کار بر روی درخت فایل یا همون انبوهی از فایل‌ها و دابرکتوری‌های تو در تو (۷۵۰۰  فایل و ۹۰۰ دایرکتوری به حجم ۱.۹ گیگ)

کپی ابتدایی از این درخت بر روی هارد در سیستم‌فایل Ext3  با سرعت بیشتری انجام شد (۱۵۸.۳ ثانیه) و برای XFS این زمان به ۱۶۶.۱ ثانیه رسید که با ReiserFS با زمان ۱۷۲.۱ ثانیه و JFS با زمان ۱۸۰.۱ قابل مقایسه می‌باشند. نتایج مشابهی نیز برای کپی مجدد بر روی همین دیسک سخت برای این فایل سیستم‌ها بدست می‌آید. در کپی مجدد برتری همچنان با Ext3 با زمان ۱۲۰ ثانیه می‌باشد که قابل مقایسه با دیگر فایل سیستم‌ها می‌باشد (XFS = 135.2, ReiserFS = 136.9 and JFS = 151). با این وجود پاکسازی درخت فایل در Ext3 دو برابر (۲۲ ثانیه) در مقایسه با  ReiserFS با زمان ۸.۲ ثانیه و XFS با زمان ۱۰.۵ ثانیه و JFS با زمان ۱۲.۵ ثانیه، وفت برد!! همه‌ی فایل سیستم‌ها برای عمل کپی بین ۲۷ تا ۳۶ درصد از پردازشگر را به خود اختصاص دادند و برای کپی مجدد این مقدار بین ۲۹٪‌ از JFS تا ۴۵٪‌ از ReiserFS رسید.جای شگفت هست که ReiserFs و XFS برای پاک کردن درخت فایل به شدت پردازشگر رو اشغال می‌کردند (۸۶ درصد و ۶۵ درصد)‌ در حالی که در دیگر فایل سیستم‌ها این مقدار به ۱۵ درصد می‌رسید(Ext3 و JFS). در اینجا باز هم JFS تمایل کمتری به استفاده از پردازشگر رو نسبت به دیگر فایل ‌سیستم‌ها از خود نشون داد. تعداد صفحات خطا به صورت با معنی در ReiserFS بالا بود (۵۸۴۳) در حالی که برای دیگر فایل‌ سیستم‌ها این آمار بین ۱۴۰۰ تا ۱۴۹۰ بود. این تفاوت حتی به مقادیری بالاتری از صفخات خطا نیز (۵ تا ۲۰ برابر) در کپی مجدد و پاکسازی درخت فایل برای ReiserFS نسبت به دیگر فایل ‌سیستم‌ها می‌رسید!
نتیجه: برای انجام کارهای سریع بر روی فایل‌های انبوه و تو در تو موسوم به درخت فایل استفاده از Ext3 و یا XFS سفارش می‌شود.

لیست گرفتن از دایرکتوری‌ها و جستجوی فایل‌ها از داخل درخت فایل قبلی

لیست گرفتن از تمام دایرکتوری‌های این درخت فایل در ReiserFS با زمان ۱.۴ ثانیه و XFS با زمان ۱.۸ قابل مقایسه با Ext3 با زمان ۲.۵ و JFS با زمان ۳.۱ ثانیه می‌باشد. نتایج مشابهی نیز برای جستجوی فایل بدست آمد بدین ترتیب که زمان ۰.۸ ثانیه برای ReiserFS و زمان ۲.۸ ثانیه برای XFS بود که قابل مقایسه با زمان‌های ۴.۶ ثانیه‌ای Ext3 و ۵ ثانیه‌ای JFS بود. Ext3 و JFS به صورت مشابه در هنگام لیست کردن دایرکتوری‌ها ۳۵ درصد و در هنگام جستجوی فایل‌ها ۶ درصد از پردازشگر را اشغال می‌کردند. XFS مقدار بیشتری از پردازشگر را در هنگام لیست کردن فایل اشغال می‌کرد (۷۰ درصد)‌ والبته به همین ترتیب در مورد جستوجوی فایل عمل می‌کرد (۱۰ درصد). ReiserFS نیز استفاده‌ی افراطی را از پردازشگر برای خود به ثبت رساند  و به ترتیب ۷۱ و ۳۶ درصد از پردازشگر را برای لیست کردن دایرکتوری و جستجوی فایل به خود اختصاص ‌داد. و دوباره درباره تعداد کمتر صفحات خطا این تعداد در مورد ReiserFS سه برابر دیگر فایل‌ سیستم‌ها می‌باشد (۱۹۹۱ در برابر ۷۰۴ تا ۷۱۲ خطا).
نتیجه:انجام این آزمایش نشان داد که سرعت بیشتر ، در جستجو و لیست کردن دایرکتوری به همراه خود مصرف بیشتر پردازشگر را نیز دارد (ReiserFS و XFS)‌ و بالعکس (Ext3 و JFS)‌

نتیجه‌گیری کلی

نتیجه اینکه گرچه همه فایل سیستم‌ها خوب هستن اما در نهایت شما باید یکی رو انتخاب کنید. براساس نتایج بدست آمده XFS مناسب‌ترین گزینه برای کامپیوترهای خانگی و همینطور برای مقاصد تجاری اما در سطحی کوچک می‌باشد.
خلاصه‌ی دلایل برتری XFS

  • استفاده‌ی حداکثری از هارددیسک
  • سریع‌ترین فایل‌ سیستم برای ایجاد و مانت و آنت‌مانت کردن
  • سریعترین فایل‌ سیستم برای کار با فایل‌های حجیم (بیشتر از ۵۰۰ مگابایت)
  • این فایل سیستم مکان خوبی برای نگهداری بک‌آب فایل‌ها می‌باشد
  • استفاده از زمان و پردازشگر به صورت میانه برای لیست کردن و جستجوی فایل‌ها
  • اگرچه کمترین میزان مصرف رم به این فایل سیستم تعلق داره اما میزان کاملا قابل قبولی رو داره

منبع

Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch

نتایج آزمایش‌های مشابه دیگر

Benoit, M. (2003). Linux File System Benchmarks.

Piszcz, J. (2006). Benchmarking Filesystems Part II. Linux Gazette, 122 (January 2006).

یک نکته‌:‌من متوجه منظور مقاله از تعداد صفحات خطا نشدم! اگر کسی منظورش رو متوجه شد به ما هم بگه ممنون می‌شیم.
نکته بعدی: توجه به کامنت‌های این مقاله در سایت اصلی  هم بسیار می‌تونه جالب باشه! البته به نظر من تجربه هم می‌تونه مهم باشه! البته به شرطی که شما اطلاعات مهمی روی کامپیوترتون نداشته باشین!‌ اینطور که از شواهد پیداست(کامنت‌ها) وقتی شما XFS رو انتخاب می‌کنید احتمال اینکه به یکباره نصف طلاعات بپره وجود داره !!‌ برای فهم این موضوع شما باید با یک سری از اصطلاحات آشنا بشین. سعی می‌کنم توی یک پست دیگری جداگانه با ریز فایل سیستم‌ها شما رو آشنا کنم البته این به شرطی هست که خودم از اون چیزی سر دربیارم!!