توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مصرف بیش از حد رم
sajadpm
December 27th, 2013, 21:41
با سلام و خسته نباشید خدمت تمامی دوستان
من از یک جا هاست اشتراکی دارم که ماهیانه مبلغ نسبتا بالایی رو می دم و از 1 ترابایت پهنای باند و 100 گیگ هارد و 2 گیگ رم استفاده کنم ... مدیر سرور به من گفته که مصرف رم اسکریپتی که توسط خودم نوشتم 25 گیگ هست در صورتی که مطمئنم اسکریپتم این مقدار مصرف نداره !!!! :-ooo آیا میشه مصرف بالای رم از کانفیگ نادرست سرور باشه ؟
با تشکر و سپاس فراوان
glxx
December 27th, 2013, 21:50
مشخصات اسکریپ شما چیه؟ بانکش چیه؟
اسکریپت شخصی سازی شده یا خودتون از پایه توشتید؟
کانفیگ سرورتون چیست؟....
به خیلی چیزها بستگی دارد
مقدار رم شما 2 گیگ است چگونه شما 25 گیگ مصرف میکنید swap براتون حساب میکنن؟
sajadpm
December 27th, 2013, 22:10
اسکرپت از پایه توسط خودم نوشته شده و برای برنامه موبایل هستش ... زبان اسکرپیت php و پایگاه داده mysql می باشد ... سرور لینوکس هست ، درسته من 2 گیگ رم حق دارم استفاده کنم ولی اجازه استفاده بیشتر نیز به من داده شده البته الان باید مقدار خیلی زیادی رو برای هر گیگ رم بدهم برای همین سوال کردم !
da6276
December 28th, 2013, 00:39
بله ممکنه ، باید اسکریپت چک بشه و اگه بهینه نباشه باید اسکریپت رو نسبت به منابعتون بهینه سازی کنید
hejazee
December 28th, 2013, 01:05
25 گیگ رم واقعا خیلی زیاده و من بسیار بعید می دونم که اسکریپتی این همه رم مصرف کنه. مگر این که واقعا داغون باشه!
و اصلا تا حدودی غیر ممکنه چنین مصرفی. اکثر برنامه ها فوقش 512 مگ رم مصرف می کنند...
شما اسکریپت را روی سیستم خودتان اجرا کنید و benchmark بگیرید و مصرف رم را محاسبه کنید.
ممکن است هاستینگ، بی خود به شما می گوید که 25 گیگ مصرف دارید.
i-whost
December 28th, 2013, 01:09
با سلام و خسته نباشید خدمت تمامی دوستان
من از یک جا هاست اشتراکی دارم که ماهیانه مبلغ نسبتا بالایی رو می دم و از 1 ترابایت پهنای باند و 100 گیگ هارد و 2 گیگ رم استفاده کنم ... مدیر سرور به من گفته که مصرف رم اسکریپتی که توسط خودم نوشتم 25 گیگ هست در صورتی که مطمئنم اسکریپتم این مقدار مصرف نداره !!!! :-ooo آیا میشه مصرف بالای رم از کانفیگ نادرست سرور باشه ؟
با تشکر و سپاس فراوان
اسکریپت برای تست ارسال کنید تا مصرف بررسی و اطلاع بدهیم
compiler
December 28th, 2013, 03:27
با سلام و خسته نباشید خدمت تمامی دوستان
من از یک جا هاست اشتراکی دارم که ماهیانه مبلغ نسبتا بالایی رو می دم و از 1 ترابایت پهنای باند و 100 گیگ هارد و 2 گیگ رم استفاده کنم ... مدیر سرور به من گفته که مصرف رم اسکریپتی که توسط خودم نوشتم 25 گیگ هست در صورتی که مطمئنم اسکریپتم این مقدار مصرف نداره !!!! :-ooo آیا میشه مصرف بالای رم از کانفیگ نادرست سرور باشه ؟
با تشکر و سپاس فراوان
کنترل پنل دایرکت ادمینه؟
تعداد cuncurrent connection ها رو میدونید؟
معمولا روی دایرکت ادمین با کانفیگ پیش فرض ، تعداد کانکشن ها زیاد روی پورت ۸۰ باعث میشه تعداد بسیار زیادی pid وب سرور آپاچی به صورت فعال باقی بمونه و حجم خیلی زیادی از رم سرور رو مشغول کنه....
اگر دایرکت ادمینه به مدیر سرور بگید از mpm perfork سوییچ کنه رو worker
sajadpm
December 29th, 2013, 11:48
تشکر و سپاس فراوان از پاسخ تمامی دوستان و متخصصان در این زمینه ...
بله ممکنه ، باید اسکریپت چک بشه و اگه بهینه نباشه باید اسکریپت رو نسبت به منابعتون بهینه سازی کنید
من از اسکریپت مطمئن ام که به این مقدار مصرف رم نداره .. چون به یک متخصص در زمینه ی php هم مشورت کردم و طبق گفتشون مشکلی در اسکریپت نیست . !
25 گیگ رم واقعا خیلی زیاده و من بسیار بعید می دونم که اسکریپتی این همه رم مصرف کنه. مگر این که واقعا داغون باشه!
و اصلا تا حدودی غیر ممکنه چنین مصرفی. اکثر برنامه ها فوقش 512 مگ رم مصرف می کنند...
شما اسکریپت را روی سیستم خودتان اجرا کنید و benchmark بگیرید و مصرف رم را محاسبه کنید.
ممکن است هاستینگ، بی خود به شما می گوید که 25 گیگ مصرف دارید.
بله من هم از این موضوع بسیار تعجب کردم ! به چه صورت می توان
benchmark بگیرم البته به صورت استفاده 10 نفر به صورت همزامان از اسکریپت ! تشکر
اسکریپت برای تست ارسال کنید تا مصرف بررسی و اطلاع بدهیم
از نظر لطف شما بسیار سپاس گزارم جناب ولی چون اسکریپت اختصاصی هست نمی توانم ارسال کنم بسیار بسیار عضر خواهم ..
کنترل پنل دایرکت ادمینه؟
تعداد cuncurrent connection ها رو میدونید؟
معمولا روی دایرکت ادمین با کانفیگ پیش فرض ، تعداد کانکشن ها زیاد روی پورت ۸۰ باعث میشه تعداد بسیار زیادی pid وب سرور آپاچی به صورت فعال باقی بمونه و حجم خیلی زیادی از رم سرور رو مشغول کنه....
اگر دایرکت ادمینه به مدیر سرور بگید از mpm perfork سوییچ کنه رو worker
بله درسته پنل دایرکت ادمین هست !
از مدیر سرور تعداد
cuncurrent connection می پرسم و اطلاع می دهم و فکر می کنم همین مشکلی که شما بیان کرده باشید رو داشته باشیم چون top که گرفته می شود تقریبا تمامی رم اشغال شده توسط web server apache می باشد !
آیا با راه حلی که گفته شد می توان این مشکل را رفع کرد ؟
تشکر و سپاس ویژه از شما دوست عزیز
novin-web
December 29th, 2013, 14:53
سلام
اگر تعداد کانکشن شما باشه
بهتر هست براتون یک php.ini اختصاصی بسازه و لیمیت کانکشن ها رو برای شما جدا از کانفیگ کلی سرور تعریف کنه
AvalinHost
December 29th, 2013, 15:14
بله درسته پنل دایرکت ادمین هست !
از مدیر سرور تعداد
cuncurrent connection می پرسم و اطلاع می دهم و فکر می کنم همین مشکلی که شما بیان کرده باشید رو داشته باشیم چون top که گرفته می شود تقریبا تمامی رم اشغال شده توسط web server apache می باشد !
آیا با راه حلی که گفته شد می توان این مشکل را رفع کرد ؟
تشکر و سپاس ویژه از شما دوست عزیز
بله احتمالا مشکل شما با کامپایل آپاچی و worker حل میشه چون در حالت پیشفرض دایرکت ادمین که نصب می کنید آپاچی با perfork کامپایل شده است که برای هر ریکوئست یک pid باز میشه ولی با worker همه ریکوئست ها رو در یک pid پردازش میکنه و همین امر مقدار رم اشغال شده رو به طرض چشمگیری کاهش میده.
sajadpm
December 29th, 2013, 21:04
با مدیر سرور که صحبت کردم گفتند همچین کانفیگ رو اجرا کرده اند قبلا .. گفتند بیشترین مصرف من مربوط به sql یا همون mysql هست که در top نمایش داده می شود به نظر شما مشکلی در کانفیگ این قسمت می تونه وجود داشته باشه ، اگر لازم هست یک تصویر از top قرار بدم ؟!
hejazee
December 29th, 2013, 21:41
دوستمان AvalinHost درست می فرمایند.
من هم مصرف بی مورد رم رو تجربه کرده ام. (مثلا 2 گیگ رم در حالی که باید 250 مگ مصرف بشه) البته 25 گیگ رم رو دیگه تجربه نکرده بودم!
اولا بررسی کنید که مجازی سازی مورد استفاده چیست. اگر openvz باشه و overselling استفاده کرده باشند، احتمال این که مصرف رم بالاتر از حد انتظار اعلام شود، زیاد است.
باید از مجازی سازی های دیگر استفاده کنید و یا از جایی که overselling ندارد، هاست تهیه کنید.
ثانیا اگر در کانفیگ apache از mpm-prefork استفاده می کنید، مصرف رم خیلی بی رویه میره بالا. حتما از mpm-worker استفاده کنید یا اگر مقدور است از litespeed یا nginx استفاده کنید.
برای php هم از php-fpm استفاده کنید که fastcgi است.
برای اتصال apache به fastcgi هم از ماژول fastcgi استفاده کنید.
ثالثا، برای بهینه سازی MySQL می توانید به جای MySQL از MariaDB و یا Percona استفاده کنید. نرم افزار هایی که نام بردم، به طور کامل با MySQL سازگار هستند و فقط بهینه تر هستند و هیچ گونه مشکلی در برنامه هایتان پیش نخواهد آمد.
ضمنا با تغییر در کانفیگ MySQL هم می توان آن را برای کاربرد شما بهینه کرد.
چهارم، ماژول های اضافی در apache و php را که استفاده نمی کنید، غیر فعال کنید. ماژول هایی مثل autoindex در آپاچی و یا imap در php ....
پنجم، اگر از apc استفاده می کنید، سرعت برنامه تان بالا می رود، ولی رم بیشتری مصرف می کند. کانفیگ apc را بررسی کنید.
ششم، دیتابیس تان را بهینه کنید. از index ها استفاده کنید. استفاده ی صحیح از index ها و طراحی صحیح دیتابیس امری تخصصی است و باید کار را به یک متخصص دیتابیس بسپارید و می توان لود دیتابیس رو به طور چشمگیری بهبود بخشید.
ضمنا اگر تصویری از top قرار دهید، ممکن است موضوع را بیشتر روشن کند.
موفق باشید.
sajadpm
December 30th, 2013, 20:38
تشکر و سپاس از راهنمایی شما ، تصویری از top قرار دادم تا اطلاعات بیشتری کسب کنید این تصویر که گرفتم مصرف رم 8 گیگ بود ! که فکر زمانی هست که کمترین مصرف رم است البته یک نکته رو بیان کنم که دیروز مصرف رم 24 گیگ بود و زیر اون قسمتی که در تصویر خط کشیدم 125:47:23 بود که بعد از ریبوت سیستم صفر شد و مصرف رم به 7 گیگ رسید یعنی ریبوت سیستم موجب کاهش 17 گیگ رم با صفر شدن اون قسمتی که زیرش خط کشیدم شد !
حالا به نظر شما مشکل از چی هست ؟
منظور شما دوست عزیز از چه شرکتی تهیه کردم یا اینکه از چه کشوری ؟
سرور از شرکت : آوام وب : ارائه دهنده خدمات مبتنی بر وب (http://avamweb.com/) تهیه کردم که یکی از دوستان بنده هستند.
سرزمین
December 30th, 2013, 20:55
منظور شما دوست عزیز از چه شرکتی تهیه کردم یا اینکه از چه کشوری ؟
سرور از شرکت : آوام وب : ارائه دهنده خدمات مبتنی بر وب (http://avamweb.com/) تهیه کردم که یکی از دوستان بنده هستند.
نه همون سایت منظورم بود حالا کشور چی؟
سرزمین
December 30th, 2013, 20:57
خیلی ببخشید مگه شما چه اسکریپتی زدی که اینقدر رم میخواد؟ اگه واقعاً اینقدر رم بخواد که باید بری سرور اختصاصی بگیری :61:
ertebat7
December 30th, 2013, 21:41
نوع اسکریپت را مشخص کنید تا راهنمایی بیشتری شود
sajadpm
December 31st, 2013, 01:00
خیلی ببخشید مگه شما چه اسکریپتی زدی که اینقدر رم میخواد؟ اگه واقعاً اینقدر رم بخواد که باید بری سرور اختصاصی بگیری
نوع اسکریپت را مشخص کنید تا راهنمایی بیشتری شود
توضیح ساده ای که می توان داد این است که یک مدیریت محتوای ساده نوشتم که روزی 6 تا مطلب یا فوقش 10 تا بر روی آن ارسال می شود و کاربران توسط موبایل آن مطالب رو مشاهده می کنند . اسکریپت هیچ چیز خاصی ندارد که مصرف بالایی داشته باشد حتی تعداد بازدید رو ثبت نمی کنه ! و فقط بیشترین query که در اسکریپت ام ارسال میشه مربوط به تعداد دانلود یک فایل است بیشترین مقداری هم که زده شده توسط این query 3000 هست !!! حالا کجای این اسکریپت این مقدار مصرف رو داره باور کنید نمی دونم !
ertebat7
December 31st, 2013, 01:08
توضیح ساده ای که می توان داد این است که یک مدیریت محتوای ساده نوشتم که روزی 6 تا مطلب یا فوقش 10 تا بر روی آن ارسال می شود و کاربران توسط موبایل آن مطالب رو مشاهده می کنند . اسکریپت هیچ چیز خاصی ندارد که مصرف بالایی داشته باشد حتی تعداد بازدید رو ثبت نمی کنه ! و فقط بیشترین query که در اسکریپت ام ارسال میشه مربوط به تعداد دانلود یک فایل است بیشترین مقداری هم که زده شده توسط این query 3000 هست !!! حالا کجای این اسکریپت این مقدار مصرف رو داره باور کنید نمی دونم !
ببینید دوست عزیز
در ساعت خاصی این اتفاق می افتد؟
چه تعداد بازدید داره حدودا؟
و کانفیگ mysql سرور هم باید بررسی بشه
با این تفاسیر این میزان مصرف رم غیرعادی هست
hejazee
January 1st, 2014, 00:23
این دستورها را در سرورتان اجرا کنید و خروجی آن ها را ارسال کنید. ممکن است قدری موضوع را روشن تر کند:
free -m
cat /etc/issue
cat /proc/cpuinfo
mysql --version
php -v
php -i
ps aux
البته به جای خروجی php -i بهتر است خروجی تابع phpinfo() رو ارسال کنید