نمایش نتایج 1 تا 13 از 13

نام تاپیک: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

  1. #1

    چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    سلام به همه دوستان
    من مدتهاست که از Yii برای کارهام استفاده میکنم
    اما همیهش مشتری از سرعت سایت من گله منده
    با اینکه اکثرا از بوت استرپ استفاده میکنم
    و این سری هم رم سرور پر شده بود با اینکه کلا 3 تا سایت فعال رو سرورم دارم
    خواستم ببینم از کجا میشه فهمید Yii و اسکریپتم چقدر حافظه و اشغال میکنه و چه نکاتی و باید در نظر گرفت در حین تولید برنامه

  2. #2
    کاربر دائمی آواتار Unique
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    ایران - اصفهان
    پست
    3,199

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    چند تا نکته که تجربیه :

    ۱ - سعی کنید از Framework ها تا جایی که میشه استفاده نکنید (بله درست نوشتم استفاده نکنید) ، framework ها زمانی مناسب هستند که واقعا به کارایشون نیاز باشه و منابع خوبی هم برای سرباری که ایجاد میکنند وجود داشته باشه و وقتی میشه کار را بدون framework و به راحتی انجام داد واقعا نیاز بهش نیست. (در اینجا منظور هر نوع framework هست چه حالا css و چه php و چه javascript)

    ۲ - اگه سمت کلاینت دارین از Bootstrap یا Jquery استفاده میکنید حتما سمت سرور از قابلیت Compress کردن یا همون gzip استفاده کنید (وب سرور با یکسری تنظیمات توی htaccess به راحتی انجام میده)

    ۳ - تا جایی که میشه از میزبانی های Shared معتبر و خوب استفاده کنید و مثلا یک VPS با یکی دو گیگ رم که خودتون هم کانفیگ کردین اصلا استفاده نکنید. میزبان های Shared که Over Sell هم ندارند واقعا منابع خوبی دارندو ۹۰ درصد سایت ها جواب میدهند روی این ها. اگه واقعا قصد استفاده از VPS یا Dedicated دارین یک متخصص مدیریت سیستم استخدام کنید که سرویس را براتون Config کنه و مطمئن باشین یک برنام هنویس وب توی ۹۵ درصد مواقع سواد لازم و کافی برای کانفیگ را نداره !

    ۴ - وقتی مشتری میگه سرعت پایینه فقط چون اون گفته اینطوریه اهمیتی نداره و واقعا باید بررسی بشه طرف داره با چه شرایطی (سرعت اینترنتش چیه و نکنه داره Dialup کار میکنه ، مرورگرش چیه و نکنه انتظار داره IE6 توی سال 2015 به خوبی navigate و نمایش بده صفحات را) سایت را میبینه.

    در آخر موفق باشین.

  3. #3

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    توی استفاده از فریمورکها دقت کنید. برای مثال، وقتی فقط به دو فیلد از کل فیلدهای یک جدول نیاز دارین، لازم نیست همه رو انتخاب کنید. مثال:
    $models = Posts::model()->findAll(array('select'=>'title,abstract'));

    همچنین تفاوت این دو کد رو میشه به راحتی فهمید:
    // normal usage
    foreach($post->comments as $comment) {
    if($comment->confirmed) {
    // ...
    }
    }
    // optimized usage
    foreach(Comments::model()->findAll('post_id=:pid AND confirmed=1',array(':pid'=>$post->id)) as $comment) {
    // ...
    }

    موارد بهینه سازی این مدلی توی کار با ActiveRecord خیلی زیاده. همینطوری نمیشه کد رو نوشت و مشکل رو بندازیم گردن فریمورک. ضمناً تاپیک رو به بخش Yii منتقل کردم.

  4. #4
    کاربر دائمی آواتار desatir7316
    تاریخ عضویت
    آذر 1388
    محل زندگی
    تهران
    پست
    1,211

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    نقل قول نوشته شده توسط MMSHFE مشاهده تاپیک

    همچنین تفاوت این دو کد رو میشه به راحتی فهمید:
    // normal usage
    foreach($post->comments as $comment) {
    if($comment->confirmed) {
    // ...
    }
    }
    // optimized usage
    foreach(Comments::model()->findAll('post_id=:pid AND confirmed=1',array(':pid'=>$post->id)) as $comment) {
    // ...
    }

    موارد بهینه سازی این مدلی توی کار با ActiveRecord خیلی زیاده. همینطوری نمیشه کد رو نوشت و مشکل رو بندازیم گردن فریمورک. ضمناً تاپیک رو به بخش Yii منتقل کردم.
    این نرمال و اپتیمایز رو من زیاد متوجه نشدم، یعنی دومی بهتره؟ خوب این مگه هر سری نمی ره سراغ دیتابیس؟ و این خودش مگه باعث افت سرعت نمی شه؟

  5. #5

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    نه هر سری نمیره. توی foreach قسمت اول (تولید آرایه) همون دفعه اول اجرا میشه نه هربار. تفاوتشون در اینه که اولی همه کامنتهای یک پست رو در میاره و پیمایش میکنه و اگه تأیید شده بود، کارها رو انجام میده ولی دومی همون اول فقط کامنتهای تأیید شده رو استخراج میکنه و اصلاً تأیید نشده ها رو توی RAM نمیاره.

  6. #6

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    البته یک راه دیگه هم هست که میشه سادگی Relational AR و بهینگی رو با هم داشته باشیم:
    $posts = Posts::model()->with(array(
    'comments'=>array(
    'condition'=>'comments.confirmed=1',
    ))->findAll('t.confirmed=1');
    foreach($posts as $post) {
    // we have confirmed posts here
    foreach($post->comments as $comment) {
    // we have confirmed comments of current post here
    }
    }

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    http://reza.biz
    پست
    858

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    من به تست جالبی رسیتم
    روی هاستهای اشتراکی که شرکتها ارائه میدن (چند شرکتی رو که تست کردم اسمشو بگم تبلیغ میشه اما اولش نت داره آخرش افراز :) مثلا !!!)
    با توجه به کانفیگی که ارائه کرده اند روی پی اچ پی 5.3 Yii حداقل ده مگ مصرف رم داره در هر پروسس
    روی سرور خودم php5.5 با apc به ندرت به سه مگ میرسه و معمولا روی دو مگ هست اکثرا مواقع :)

  8. #8
    کاربر دائمی آواتار engmmrj
    تاریخ عضویت
    مرداد 1391
    محل زندگی
    تهران
    پست
    1,146

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    روی هاست های اشترکی من مصرف رم را اندازه گرفتم در حالت عادی که تو اون صفحه هیچ query اجرا نمی شد مصرف رم ۵ مگابایت بود ولی تو سرور با php 5.6 تست گرفتم صفحه هایی که کلی توش query و realtion زده بودم به 3.5 یا 4 میرسید

  9. #9

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    ممنون از پاسخ دوستان
    من هم معتقدم که استفاده از سرور اشتراکی تو خیلی از شرایط بهتر از سرور های vps یا delicated هست
    پلان رم یک گیگ و پهنا باند 100 گیگ داشتم کلا آپاچی کراش کرده بوده و اصلا ران نمیشد سرور
    میگه خود دایرکت ادمین و الحاقات اون نزدیک به 400 مگابایت از رم و اشغال میکنه.

    مشتری هم انتظار کیفیت داره اما پولو به نرخی پرداخت میکنه که همه میدند
    مثلا یک سایت خبری ساده هم یه پول میده یک سیت فروشگاهی پربازدید که تو لاگ های سرور بیشتری پهنا باند و غیره و مصرف میکنه هم همون انتظار و داره

    و در مورد کانفیگ کردن توسط متخصص هم من با uniq موافقم

    در مورد استفاده نکردن از فریمورک های سمت سرور هم : باید گفت که یک عادت و سبکی به وجود میاد و یک ارشیو و بدنه اولیه که ادم همیشه تو اکثر پروژه هاش همون و مبنا میکنه و ادامه کار میده و سرعت کار ادم خیلی میره بالا
    امکانات ام وی سی و اکتیو رکورد و غیره و نمیشه ادم با کلاس نویسی و کوئری زدن تو کد ها دوباره ادم تغییر عادت بده

    من بازم دوست دارم دلایل و راه کارهای بهتری ارائه بدین

  10. #10

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    در مورد gzip هم یه مطلب خوب بدید ممنون میشم
    http://www.feedthebot.com/tools/gzip/
    اینجا بررسی میکنم درصد های بالایی میده مثلا 90 درصد به بالا میگه سرعت بهتر میشه اما کد های مختلفی تو نت هست یه توضیح یا لینکه خوب بدید ممنون میشم
    مثلا زیپ فیلم خوبه یا بده
    زیپ عکس ها خوبه یا بده
    زیپ عکس های اسلایدر ها یا همه عکس ها
    عکس محصولات یا همه
    یه همچنین توضیحاتی

  11. #11
    کاربر دائمی آواتار jafaripur
    تاریخ عضویت
    شهریور 1385
    پست
    216

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    سرعت فاکتورهای زیادی داره، مخصوصا در زمینه وب خیلی چیزها باید بهینه بشه.
    کدهات رو دوباره چک کن، دیتابس رو اینکس گذاری کن، از کش داخلی استفاده کن، حد الامکان از کش APC استفاده کن. تو کانفیق Htaccess به آیتم های استاتیک تاریخ مصرف بزار ... و حتما بچرخ سمت Yii2

  12. #12

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    برای gzip کافیه اول index.php این کد رو بگذارین:
    ob_start('ob_gzhandler');

    آخرش هم همون ;()ob_end_flush کافیه. توی اکثر هاستها gzip فعاله و همین کار کافیه و لازم نیست درگیر htaccess. بشین. اما اگه میخواین عکسها هم با gzip فشرده بشن باید با htaccess. تنظیمش کنید. من خودم با این کار یک صفحه رو که با عکسها و مشتقاتش 1.9 مگابایت بود، رسوندم به 310 کیلوبایت و حجم سورس صفحه از 310 کیلوبایت رسید به 4.7 کیلوبایت!

    اکیداً توصیه میکنم از امکانات متنوع کش در Yii استفاده کنید.

  13. #13
    کاربر دائمی
    تاریخ عضویت
    آبان 1390
    محل زندگی
    http://reza.biz
    پست
    858

    نقل قول: چجوری میشه فهمید Yii و نرم افزار تولید شده با آن چقدر از رم و پهنا باند و اشغال میکنه؟

    مهرداد کلا آپاچی روی تعداد رکوئست بالا مشکل ایجاد میکنه .
    به جاش از nignx + php-fpm استفاده کن
    من روی وبشمار ثانیه ای 5 رکورد توی دیتابیس ذخیره میشه دیگه خودت تصور کن چقدر درخواست دارم
    مصرف رمم 600 مگ هست :)

تاپیک های مشابه

  1. سوال: بروز رسانی نرم افزار تولید شده از طریق وب سرویس
    نوشته شده توسط nilda_15 در بخش WCF , Web Services , .Net Remoting
    پاسخ: 2
    آخرین پست: پنج شنبه 16 دی 1389, 08:47 صبح
  2. چطور نرم افزار تولید کارنامه بسازم
    نوشته شده توسط naser_feb8646 در بخش VB.NET
    پاسخ: 10
    آخرین پست: شنبه 30 آذر 1387, 09:37 صبح
  3. سوال: چجوری میشه فهمید محتویات یک Recordset تغییر کرده
    نوشته شده توسط ms_vb1987 در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: سه شنبه 21 خرداد 1387, 18:55 عصر
  4. چطوری میشه از سالم بودن نرم افزار اطمینان حاصل کرد؟
    نوشته شده توسط hex161 در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: جمعه 28 اسفند 1383, 00:51 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •