PDA

View Full Version : روش تخمین مشخصات سرور برای یک پروژه



bade saba
سه شنبه 05 اردیبهشت 1391, 09:22 صبح
سلام

سوال من یه سوال برنامه نویسی نیست، مشکلی که من دارم برای بعد از زمانیه که پروژه آماده شد.

فرض کنید یه پروژه نوشته شده، حالا با هر زبانی (ASP یا PHP) و ما میخایم یه سرور برای این سایت فراهم کنیم که این سرور میتونه اختصاصی باشه یا نباشه در این هم محدودیتی نیست.
مسئله اینجاست که تخمین بر اینه که این سایت مثلا 250 کاربر دائمی که از صبح حدود ساعت 9 تا 5 و 6 بعد از ظهر در سایت لاگین کنن خواهد داشت و اینا به شکل غیر منظم عملیاتی در سایت انجام میدن (مثل گزارش کیری و اد کردن اطلاعات و ...) ممکنه که روزی 10 ، 15 نفر هم به طور اتفاقی به سایت سر بزنن که برای اونا فقط دیدن صفحات معمولی سایت ممکنه و لاگینی در کار نیست. حالا با این فرض من دنبال فرمول یا روش محاسبه ای میگردم که با این اطلاعات و اطلاعاتی که میشه از سایت گرفت که مثلا حجم هر صفحه چقدره و ... بتونم تخمین بزنم که به چه سروری با چه مشخصاتی نیاز دارم که سایتم بتونه به این تعداد مشتری پاسخ بده و Down یا کند نشه و در عین حال بهینه هم هزینه بکنم و خیلی بیش از نیازم امکانات نگیرم که هزینه کارم بالا بره.

پ.ن: ارقام و ساعتها تخمین فعلیه و ممکنه در طول زمان زیادتر بشه و برای همین بیان یه سری مشخصات برای من کار ساز نیست و من روش تخمین رو نیاز دارم که بتونم با تغییر شرایط میزان تخمینم رو Update کنم

ممنون

bade saba
سه شنبه 05 اردیبهشت 1391, 16:27 عصر
یعنی واقعا هیچ کدام از دوستان تا حالا سایتی ننوشتن که کاربراش به 250 یا 300 نفر آنلاین برسه و down نشدن سیستم براشون مهم باشه که همچین چیزی رو بررسی کرده باشند؟

Tarragon
سه شنبه 05 اردیبهشت 1391, 17:12 عصر
سلام.
آقا بسگی به کار شما داره.
اگر مثلا شما بخواهید یه سرور بازی آنلاین بزنید رمش باید 2 باشه اما اگر یه سایت کم مصرف رم 512 زیادش هم هست.
با تشکر.

bade saba
سه شنبه 05 اردیبهشت 1391, 23:27 عصر
سلام.
آقا بسگی به کار شما داره.
اگر مثلا شما بخواهید یه سرور بازی آنلاین بزنید رمش باید 2 باشه اما اگر یه سایت کم مصرف رم 512 زیادش هم هست.
با تشکر.

و این گفته ها بر اساس چه منبعی گفته شدن؟؟؟؟:متفکر:

hassanzanjani1374
چهارشنبه 06 اردیبهشت 1391, 08:58 صبح
ببین باید حدودی بگی دیگه ، با تجربه به دست میاد . ولی می تونی پروژه رو بریزی رو سرور یه کاربر آنلاین شه . بعد استفاده از منابع رو حساب کنی * 300 کنی . البته استفاده از منابع نرم افزار های پیشفرض رو از کلش کم کن .

mtchabok
چهارشنبه 06 اردیبهشت 1391, 11:12 صبح
سلام
در php امکانی برای تشخیص رم و میزان فضا و خیلی چیزای دیگه هست که میتونید برای یه مدت کوتاه سایت رو در سروری رایگان ، آزمایش کنیدو تمامی فعالیتها و مشخصات سیستم رو log کنین . با خوندن log میتونین به سرور با کانفیگ مناسب برسین .

bade saba
چهارشنبه 06 اردیبهشت 1391, 11:14 صبح
سلام
در php امکانی برای تشخیص رم و میزان فضا و خیلی چیزای دیگه هست که میتونید برای یه مدت کوتاه سایت رو در سروری رایگان ، آزمایش کنیدو تمامی فعالیتها و مشخصات سیستم رو log کنین . با خوندن log میتونین به سرور با کانفیگ مناسب برسین .

میشه بیشتر توضیح بدید؟؟؟ این امکانات رو نام ببرید؟ این امکانات فقط مخصوص PHP هستش؟؟؟ ابزاری برای بررسی سایتهایی که مثلا با ASP نوشته شده وجود نداره؟

eshpilen
چهارشنبه 06 اردیبهشت 1391, 11:58 صبح
250 تا کاربر در روز که عددی نیست.
البته اگر همه در بازهء زمانی خیلی کوتاهی همزمان بخوان درخواست بدن احتمالا هاستهای معمولی کم بیارن، ولی فکر نمیکنم درنظر گرفتن چنین حالتی که احتمالش خیلی کمه عاقلانه یا مقرون به صرفه باشه. نهایتش اوقات خیلی کمی که ممکنه چنین شرایطی پیش بیاد موقتا سرعت پایین میاد و کاربران دیگه مقداری دیرتر دوباره تلاش میکنن.

البته یه وقتی هست که به علت خاصی که زیاد ممکنه پیش بیاد ممکنه همه یا بیشتر کاربران در بازهء زمانی کوتاهی درخواست بدن؛ اون موقع محاسبات تغییر میکنن. فرضا مدیرعامل دستور یک کاری رو به تمام بخشها میده و همهء افراد بخاطر انجام اون ممکنه سریعا در بازهء زمانی کوتاهی بخوان از امکانات سایت استفاده کنن و بنابراین یک ترافیک سنگین (ولی برای بازه های زمانی کوتاه) ممکنه پیش بیاد.
اگر چنین مواردی زیادتر از حدی پیش میاد که بشه نادیده گرفت و مسئلهء مهمی هم تلقی میشه و حتما اون دستورات و کارها باید سریع/همزمان انجام بشن خب اونوقت باید یک سرور قوی گرفت که بتونه 300 نفر رو در عرض چند ثانیه یا چند دقیقه هم هندل کنه. البته بازم این تعداد اگر در چند دقیقه توزیع شده باشه اصلا تعداد زیادی بنظر نمیرسه که یک Plan متوسط هم نتونه از عهدش بربیاد. حساب کن مثلا 300 تقسیم بر 18000 ثانیه (5 دقیقه) میشه تقریبا هر 100 ثانیه یک درخواست. یک سرور خیلی معمولی نمیتونه هر 100 ثانیه یک درخواست رو جواب بده؟

---------------------------------

البته یک پارامتر دیگر هم میتونه حمله های DOS/DDOS باشه. یعنی حمله ای به سایت صورت میگیره با استفاده از ارسال ترافیک سنگین به سایت تا این ترافیک اونقدری به سرور فشار بیاره که دیگه نتونه درخواستهای کاربران رو جواب بده (یا خیلی کند میشه). تا وقتی این ترافیک ادامه داشته باشه، سایت از دسترس خارج میشه یا حداقل خیلی کند میشه.

اگر کاربرد شما امنیتی هست و احتمال داشتن دشمن و حمله زیاده یا اینکه جلوگیری از حتی تعداد معدودی از این حمله ها هم که ممکن باشه ولو بنا به تصادف در مدت عمر سایت رخ بدن براتون خیلی اهمیت داره، اونوقت بنظرم طبیعتا باید هاست قویتری هم داشته باشید تا حداقل دربرابر حمله های نسبتا کوچک از پا درنیاد. ولی اینو بدونید که سرورهای غول هم در برابر اینطور حمله ها اگر حمله ها بقدر کافی بزرگ باشن آسیب پذیر هستن و در تمام موارد راهکار قطعی و همیشگی و مقرون به صرفه ای نداره (تاجاییکه میدونم). فقط شرکتهای بزرگ/ثروتمند و سرورهای بزرگ و توزیع شده و اینها شاید بتونن بزرگترین حمله ها از این نوع رو دفع کنن (تازه اونا هم ممکنه مقداری کندی قابل توجه رو داشته باشن).
ضمنا تعبیهء سیستمهای امنیتی مخصوص جلوگیری از اینطور حمله ها، در سطح اپلیکیشن یا سطوح دیگر (مثل ماجول ها و تنظیمات امنیتی نرم افزار وب سرور)، ممکنه برای این موارد مورد نیاز یا خیلی مفید باشن.