نمایش نتایج: از شماره 1 تا 10 , از مجموع 10

موضوع: حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

  1. #1
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    Question حافظه تعیین شده به php mysql apache چگونه تخصیص داده میشود.

    درود بر اساتید گرامی
    می خواستم راهنمایی کنید که در تنظیمات php وmysql حافظه اختصاص داده شده چگونه بکار گرفته میشود.
    مثلا در پلسک هنگام تنظیم پی اچ پی یک پلن
    فرض کنید php memory limit برابر ۶۴مگابایت باشد و ۱۰ اکانت هاست باشد و هر اکانت ۲ وردپرس نصب و هر وردپرس ۷ ویزیتور همزمان دارد.
    حافظه اشغال شده سیستم کدام گزینه زیر خواهد بود:
    ۶۴*۱۰*۲*۷=۸۹۶۰ مگابایت
    ۶۴*۱۰*۲=۱۲۸۰ مگابایت
    ۶۴*۱۰=۶۴۰ مگابایت
    با تشکر
    همچنین در مورد mysql
    ویرایش توسط abc500x500 : August 23rd, 2017 در ساعت 00:13

  2. # ADS




     

  3. #2
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    باسلام، شما همیشه حداکثر مصرف را حساب کنید، اگر 10 تا اکانت باشد که بروی 64 مگ محدود باشند حداکثر 640 مگابایت میتوانند مصرف کنند، اگر دقیق ـتر بخواهید حساب کنید باید مصرف real usage و internal usage را در نظر بگیرید (محسابه مقدار مصرف واقعی اپلیکیشن از مموری در مقابل مصرف کل که شامل سیستم عامل هم می شود) که internal usage هر اسکریپت را میتوانید با متد memory_get_usage محاسبه کنید.

  4. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


  5. #3
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    باسلام، شما همیشه حداکثر مصرف را حساب کنید، اگر 10 تا اکانت باشد که بروی 64 مگ محدود باشند حداکثر 640 مگابایت میتوانند مصرف کنند، اگر دقیق ـتر بخواهید حساب کنید باید مصرف real usage و internal usage را در نظر بگیرید (محسابه مقدار مصرف واقعی اپلیکیشن از مموری در مقابل مصرف کل که شامل سیستم عامل هم می شود) که internal usage هر اسکریپت را میتوانید با متد memory_get_usage محاسبه کنید.
    مرسی پاسخ دادید
    در پلسک یکی می توان php.ini اصلی را ویرایش کرد و دیگر آنکه هر پلن فروش را که ایجاد می کنیم برای آن پلن اختصاصی پی اچ پی را تنظیم می کنیم در هنگام تعیین حافظه در php.ini برای هرپلن می بینیم در کنار باکس نوشته per script آیا در این صورت در مثالی که زدم گزینه اول درست خواهد بود یا دوم یاسوم؟
    گزینه اول کاهش و افزایش ویزیتور موثر است ۷ویزیتور*۲ورد پرس*۱۰ اکانت *۶۴مگ=۸۹۶۰مگابایت
    گزینه دوم افزایش تعداد ویزیتور تاثیری بر رم ندارد و فقط تعداد اسکریپت مهم است ۲ورد پرس*۱۰ اکانت*۶۴مگ=۱۲۸۰مگابایت
    گزینه سوم تعداد اسکریپت فعال تاثیری ندارد وفقط هر اکانت رم مصرفی دارد ۱۰اکانت*۶۴مگ=۶۴۰ مگابایت
    ویرایش توسط abc500x500 : August 23rd, 2017 در ساعت 12:04

  6. #4
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    نقل قول نوشته اصلی توسط abc500x500 نمایش پست ها
    مرسی پاسخ دادید
    در پلسک یکی می توان php.ini اصلی را ویرایش کرد و دیگر آنکه هر پلن فروش را که ایجاد می کنیم برای آن پلن اختصاصی پی اچ پی را تنظیم می کنیم در هنگام تعیین حافظه در php.ini برای هرپلن می بینیم در کنار باکس نوشته per script آیا در این صورت در مثالی که زدم گزینه اول درست خواهد بود یا دوم یاسوم؟
    گزینه اول کاهش و افزایش ویزیتور موثر است ۷ویزیتور*۲ورد پرس*۱۰ اکانت *۶۴مگ=۸۹۶۰مگابایت
    گزینه دوم افزایش تعداد ویزیتور تاثیری بر رم ندارد و فقط تعداد اسکریپت مهم است ۲ورد پرس*۱۰ اکانت*۶۴مگ=۱۲۸۰مگابایت
    گزینه سوم تعداد اسکریپت فعال تاثیری ندارد وفقط هر اکانت رم مصرفی دارد ۱۰اکانت*۶۴مگ=۶۴۰ مگابایت
    رابطه اول شما درست است تعداد بازدید رابطه مستقیم در مصرف مموری دارد، اما نکته ای که است الان تمامی هندلر های php پس اتمام مموری را آزاد میکنند و در مثال بالا زمانی 8960 مگابایت مصرف خواهد شد که در یک میکروثانیه همزمان 7 تا ویزیتور در 10 تا اکانت سایت را باز کنند، فکر کنم شما دارید برای وردپرس مموری لیمیت میکنید چون وردپرس 40 تا 64 مگ مصرف دارد اما چون دقیق دارید لیمیت میکنید پشنهاد میکنم کمی بیشتر از 64 مگ برای هر وردپرس در نظر بگیرید تا کاربر ها به مشکل نخورند.
    ویرایش توسط T.Toosi : August 23rd, 2017 در ساعت 17:09

  7. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


  8. #5
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    رابطه اول شما درست است تعداد بازدید رابطه مستقیم در مصرف مموری دارد، اما نکته ای که است الان تمامی هندلر های php پس اتمام مموری را آزاد میکنند و در مثال بالا زمانی 8960 مگابایت مصرف خواهد شد که در یک میکروثانیه همزمان 7 تا ویزیتور در 10 تا اکانت سایت را باز کنند، فکر کنم شما دارید برای وردپرس مموری لیمیت میکنید چون وردپرس 40 تا 64 مگ مصرف دارد اما چون دقیق دارید لیمیت میکنید پشنهاد میکنم کمی بیشتر از 64 مگ برای هر وردپرس در نظر بگیرید تا کاربر ها به مشکل نخورند.
    در مورد میکرو ثانیه آیا وجود تایم اوت برای اسکریپت که مثلا ۳۰ ثانیه است، آیا تداخل رم یوزیج چند کاربر اتفاق نمی افتد؟

  9. #6
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    این سه حالت را حتی در فرومهای خارجی پرسیدم کسی پاسخی نداد. باز دست شما درد نکنه پاسخی دادید.
    برای من مسئله شده
    وقتی در php مموری لیمیت را مثلا 64 مگ تعیین میکنیم. چند حالت دارد که معلوم نیست کدوم از این سه حالت است.

    آیا این به این معنی است که مثلا 10 اکانت هر کدام 2 ورد پرس دارند یعنی 20 ورد پرس هرکدام 64 مگابایت یعنی حداکثر 1280مگابایت اشغال میشود حالا اگر 1000 کاربر همزمان هم باشد باز همان حدود 1300 گابایت رم اشغال میشود و یوزرها تو صف هستند تا از آن رم محدود استفاده کنند و هرکدام 30 ثانیه تایم اوت دارند؟
    ویرایش توسط abc500x500 : August 24th, 2017 در ساعت 14:15

  10. #7
    عضو دائم T.Toosi آواتار ها
    تاریخ عضویت
    Jun 2015
    نوشته ها
    1,071
    تشکر تشکر کرده 
    278
    تشکر تشکر شده 
    2,936
    تشکر شده در
    1,329 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    در مورد میکرو ثانیه آیا وجود تایم اوت برای اسکریپت که مثلا ۳۰ ثانیه است، آیا تداخل رم یوزیج چند کاربر اتفاق نمی افتد؟
    منظورتون از تداخل چی هست ؟

    این سه حالت را حتی در فرومهای خارجی پرسیدم کسی پاسخی نداد. باز دست شما درد نکنه پاسخی دادید.
    برای من مسئله شده
    وقتی در php مموری لیمیت را مثلا 64 مگ تعیین میکنیم. چند حالت دارد که معلوم نیست کدوم از این سه حالت است.

    آیا این به این معنی است که مثلا 10 اکانت هر کدام 2 ورد پرس دارند یعنی 20 ورد پرس هرکدام 64 مگابایت یعنی حداکثر 1280مگابایت اشغال میشود حالا اگر 1000 گاربر همزمان هم باشد باز همان حدود 1300 گابایت رم اشغال میشود و یوزرها تو صف هستند تا از آن رم محدود استفاده کنند و هرکدام 30 ثانیه تایم اوت دارند؟
    اگر روی 10 تا اکانت یا همان 20 تا وردپرس که کلا اجازه استفاده ی 1280 مگابایت داشته باشند، در یک میکروثانیه هر 20 تا وردپرس 1000 تا ویزیتور داشته باشد با توجه به زمان پردازش صفحه ای که باز کرده اند مشاهده خواهید کرد صفحه به سختی باز خواهد شد، به دلیل آنکه هندلر منتظر میماند تا مموری خالی شود تا پردازش بعدی را انجام دهد، هرچه میزان execution time یا همان timeout اسکریپت بیشتر باشد بَدتر خواهد شد، برای همین همچین آپشنی قرار داده شده است تا حداکثر زمان استفاده یک اسکریپت را کنترل کنید تا مموری تلف نشود، در صورتی تعداد ویزیتور ها یا request ها از مقدار بالا بیشتر شوند تا حدی که مموری خالی نداشته باشید تمامی performance های روی سرور کیل میشود، اگر بروی وب سرور تعداد صف درخواست ها را هم محدود کرده باشید (request queue exceeds) دیگر request ای قبول نمیکند و ارور 503 در بازگشت request کاربر نمایش خواهد داد.

  11. تعداد تشکر ها ازT.Toosi به دلیل پست مفید


  12. #8
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    نقل قول نوشته اصلی توسط T.Toosi نمایش پست ها
    منظورتون از تداخل چی هست ؟


    .
    منطورم بد بیان کرده بودم. یعنی مثلا هزار درخواست همزمان هست و همه تو صف هستند و فرصت برای آزاد کردن رم نمیماند.

    من بالاخره نفهمیدم کدام گزینه زیر درسته:
    فرض کنید php memory limit برابر ۶۴مگابایت باشد و ۱۰ اکانت هاست باشد و هر اکانت ۲ وردپرس نصب و هر وردپرس ۷ ویزیتور واقعا همزمان دارد.
    حافظه اشغال شده سیستم کدام گزینه زیر خواهد بود:
    ۶۴*۱۰*۲*۷=۸۹۶۰ مگابایت => به تعداد وردپرسها ضربدر تعداد ویزیتورها ضربدر مقدار رم اشغال میشود.یعنی به ازای هر ویزیتور فوری 64مگ از رم اشغال خواهد شد و با تعدد ویزیتور فقط برای یک ورد پرس کل رم اشغال خواهد شد.

    ۶۴*۱۰*۲=۱۲۸۰ مگابایت => فقط به تعداد وردپرسها ضربدر مقدار رم اشغال میشود. هر ورد پرس فقط64مگ اشغال و ویزیتورهای همزمان باید منتظر باشند تا از آن حافظه محدود شده64 مگی استفاده کنند.و با تعدد ویزیتور حداکثر 64مگ رم مصرف خواهد شد.

    ۶۴*۱۰=۶۴۰ مگابایت => فقط به تعداد اکانتها ضربدر مقدار رم اشغال میشود. (این احتمال زیاد اشتباه است.)

  13. تعداد تشکر ها از abc500x500 به دلیل پست مفید


  14. #9
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    درود
    پاسخ سوال من درباره مموری لیمیت در php.ini
    وقتی memory_limit=64m یعنی یک اسکریپت به ازای هر پروسس همزمان حداکثر 64 MB رم مصرف می کند -[تقریبا میتوان گفت پروسس همزمان= کاربر همزمان]- ! یعنی یک پروسس 64مگ 10 پروسس 640 مگابایت.

    اگر اسکریپت پلاگینهای متعدد و پروسس بالا داشته باشد مقدار بیشتری باید رم اختصاص داده باشد

    پس برای هاست کردن یک وردپرس یا دروپال روی یک سرور اختصاصی با رم ۶۴۰۰۰ مگابایتی نباید memory_limit را مثلا ۱۶۰۰۰ مگابایت تنظیم کنیم چون به ازای هر پروسس یا هر کاربر تا 16گیگ رم مصرف خواهد کرد اگر وردپرس معمولی است ۶۴ تا ۱۲۸ رم و اگر پلاگینهای پرمصرف دارد مثلا ۲۵۶ مگابایت کافی است.
    این برداشت من از لینک زیر است. اگر اشتباه است متخصصین گرامی اصلاح بفرمایند:
    https://www.drupal.org/docs/7/managi...-memory-limits
    ویرایش توسط abc500x500 : August 26th, 2017 در ساعت 18:16 دلیل: تصحیح و روشن کردن مطلب

  15. #10
    کاربر اخراج شده
    تاریخ عضویت
    Jul 2017
    نوشته ها
    36
    تشکر تشکر کرده 
    76
    تشکر تشکر شده 
    26
    تشکر شده در
    24 پست

    پیش فرض پاسخ : حافظه اختصاص داده شده به php mysql apache چگونه تخصیص داده میشود.

    در توضیحات سایت رسمی php نوشته:
    برای جلوگیری از پرشدن رم توسط اسکریپتهایی که ضعیف برنامه نویسی شدن مموری لیمیت کاربرد دارد.

    توجه: بابد با M به معنی مگابایت مقدار داده شود اگر MB بنویسید اثر ندارد!(گویا مقدار 128 مگ که پیش فرض است در صورت اشتباه مقدار دادن، اعمال میشود!)

    اگر منفی 1 نوشته شود محدودیتی قائل نخواهد شد.

    http://php.net/manual/en/ini.core.php#ini.memory-limit
    ویرایش توسط abc500x500 : August 26th, 2017 در ساعت 18:24

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. فیلم جامع آموزش کانفیگ Mysql.php,apache
    توسط mohamad1377 در انجمن ردهت,فدورا,سنت-او-اس Redhat,Fedora,CentOS
    پاسخ ها: 3
    آخرين نوشته: March 17th, 2014, 21:48
  2. پایدار ترین نسخه های php, apache و mysql
    توسط AR3N4 در انجمن سوالات و مشکلات
    پاسخ ها: 3
    آخرين نوشته: March 17th, 2013, 23:55
  3. بهترین کانفیگ برای mysql و apache
    توسط sherman2000 در انجمن سوالات و مشکلات
    پاسخ ها: 1
    آخرين نوشته: December 23rd, 2012, 19:20
  4. تنظیم صحیح mysql و apache
    توسط AR3N4 در انجمن سوالات و مشکلات
    پاسخ ها: 3
    آخرين نوشته: October 20th, 2011, 21:18
  5. راهنمایی برای کانفیگ Apache و MySql
    توسط rsl در انجمن سرور مجازی
    پاسخ ها: 0
    آخرين نوشته: May 28th, 2011, 14:12

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

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