PDA

بازدید نسخه کامل شده : معیارهای انتخاب سخت افزار server


mazoolagh
01-27-2006, 10:42 AM
همونطور که خیلیهاتون میدونین انتخاب سخت افزار سرور یک پروسه علمی است و باید بر طبق اصول انجام بشه.

اگر فرصت کنم بتدریج بکمک هم اینجا مواردی که رو باید مد نظر گرفت و همچنین تعریف سرور و تشریح تفاوتهای اون با یک کامپیوتر متعارف رو مطرح میکنیم.

لطفا دوستانی که تعصب خاصی روی یک خانواده پردازشگر خاص دارن (چه این چه اون) و از کامپیوتر جز یک وسیله بازی درک بیشتری ندارن فقط بخوندن اکتفا کنن:d

mazoolagh
01-27-2006, 10:56 AM
قبل از هر چیز باید یک نکته بدیهی رو متذکر بشم که سرور بتنهایی معنی نداره بلکه در ارتباط با یک مجموعه کامپیوتر متصل بهم (شبکه) هست که معنی پیدا میکنه. همونطور که ارباب بدون وجود برده ارباب نیست سرور (ماشینی که سرویس میده یا سرویس دهنده) بدون سرویس گیرنده ها بی معناست.

نکته بعدی اینکه سرویس گیرنده باید حتما بیشتر از یکی باشه (چرا؟) تا این مجموعه سرویس دهنده و سرویس گیرند ها معنادار باشه!

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

mazoolagh
01-27-2006, 11:09 AM
خوب حالا ببینیم این سرویسهایی که صحبتش شد چی هست؟
چون سرویس گیرنده ها کامپیوتر هستن پس سرویس میتونه هر کدوم از منابع یا اطلاعاتی کامپیوتری باشه: فایل - صفحه وب - دیتابیس - ارتباطات - برنامه کاربردی ....

mazoolagh
01-27-2006, 01:12 PM
تعدادی از انواع سرور رو که به ذهنم میرسه اینجا لیست میکنم و خواهش میکنم اگر چیزی بذهنتون میرسه اضافه کنین.

file server
mail server
web server
database server
communication server
game server
media server
dns server
ftp server
application server
messaging server
proxy server
news server

Nendoke
01-27-2006, 01:16 PM
Stream server

mazoolagh
01-27-2006, 02:55 PM
Stream server

منظور همون media stream server هست؟ اگر اینطور باشه منظور من از media server همین بوده.

Nendoke
01-27-2006, 03:39 PM
نه اینا فرق می کنه , یه جا فرقاش رو نوشته بود باید بگردم پیداش کنم , ولی لزوما Stream Server نمی تونه Media Server هم باشه , مثل سرور های Shout Cast .

mazoolagh
01-27-2006, 11:37 PM
این چیزهایی که nendoke میگه از سطح من بالاتره!:d در هر صورت چون در این مبحث ما معیارها رو بصورت گلوبال در نظر میگیریم، انواع سرویسها فقط وزن پارامترها رو تعیین میکنن ولی اصول ثابته.

خوب با اجازه اساتید ادامه میدیم.

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

یک سرور ایده آل باید همیشه و تحت هر شرایطی به سرویسدهی ادامه دهد
فکر میکنم گزاره بالا بتنهایی بتونه راه رو برای تعیین شرایط هموار کنه - باینصورت که میشه اون رو به این شکل تفسیر کرد که در صورت بروز هر اشکال نرم افزاری یا سخت افزاری وقفه ای در کار بروز نکند.
در بعد نرم افزاری یعنی در صورت اشکال در یک process یا task تاثیری در کار دیگر پروسه ها پیش نیاید که این امر عمدتا در سطح سیستم عامل انجام میشود بنابراین از حوزه این بحث خارج میشود.
در بعد سخت افزاری به این معناست که در صورت بروز هریک از اجزای سخت افزاری، سیستم باز هم بتواند به سرویسدهی ادامه دهد. اجزای اصلی سخت افزاری عبارتند از:
1- پردازشگر
2- حافظه
3- دیسک
4- ارتباطات شبکه ای
5- تغذیه

ادامه بحث رو پس از نظریات شما در مورد تکمیل فهرست اجزا ادامه خواهیم داد.

mazoolagh
01-29-2006, 07:24 AM
خوب - ظاهرا همین لیست مورد قبوله!

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

این روش استفاده از منابع اضافی یا تکراری رو کلا بهش redundancy میگن که در بعد نرم افزاری بخصوص در سطح دیتابیس بشدت ازش دوری میشه ولی در بعد سخت افزار، اونجا که بحث قابلیت اطمینان (reliability) یا مقاوم بودن در برابر خرابی (fault tolerance) مطرح هست، بخشی از راه حل محسوب میشه.

اما اینکه چگونه redundancy رو در هر یک اجزای سخت افزاری سرور پیاده کنیم موضوع ادامه مبحث هست که به اون میپردازیم.

mazoolagh
02-06-2006, 07:03 PM
خوشبختانه اینجا کسی با سرور سروکاری نداره وگرنه مجبور بوذم مبحث رو تموم کنم!

Atthar
02-06-2006, 07:12 PM
من امروز فردا یه مطلبی راجع به روتر بک آپ یه مطلبی توی همین تاپیک مینویسم که امیدوارم به درد دوستان بخوره.

setareh
02-06-2006, 07:16 PM
من سخت افزار بیلمزم....
فرض کن یه وب سرور میخوایم برای یه سایت با حدود 100000 هیت در روز که در برنامه آینده قراره به 1 میلیون در روز برسه... BW تخمیلی حداکثر 2500G و اسکریپت بکار رفته تو این سرور یه چیزی تو مایه هایwww.friendster.com+امکانات چت با زبان PHP هست... شما حداقل سی پی یو + رم رو چقدر لازم میدونی برای این وبسایت با این ترافیک؟

mazoolagh
02-06-2006, 07:40 PM
من سخت افزار بیلمزم....
فرض کن یه وب سرور میخوایم برای یه سایت با حدود 100000 هیت در روز که در برنامه آینده قراره به 1 میلیون در روز برسه... BW تخمیلی حداکثر 2500G و اسکریپت بکار رفته تو این سرور یه چیزی تو مایه هایwww.friendster.com+امکانات چت با زبان PHP هست... شما حداقل سی پی یو + رم رو چقدر لازم میدونی برای این وبسایت با این ترافیک؟

تعیین مشخصاتی نظیر قدرت پردازش یا میزان رم مورد نیاز طبق فرمولهای محاسباتی یا جداولی هست که برای هر سیستم عامل/برنامه کاربردی متفاوته - بنابراین باید اول پلتفرم نرم افزاری مشخص بشه و بر اساس نیازها مقادیر این مشخات رو تعیین کرد.

setareh
02-06-2006, 07:57 PM
تعیین مشخصاتی نظیر قدرت پردازش یا میزان رم مورد نیاز طبق فرمولهای محاسباتی یا جداولی هست که برای هر سیستم عامل/برنامه کاربردی متفاوته - بنابراین باید اول پلتفرم نرم افزاری مشخص بشه و بر اساس نیازها مقادیر این مشخات رو تعیین کرد.
حالا من باید چه جوری این جداول و محاسبات رو یاد بگیرم؟
منبعی دارید شما؟

mazoolagh
02-07-2006, 10:02 AM
این جداول و فرمولها برای هر سیستم عامل/برنامه کاربردی در مستندات اون ارائه میشن.
معمولا به اینصورت هست که یک حداقل فضای دیسک + مقدار حافظه + نوع و کلاک پروسسور مشخص میشه. این مقادیر میشه پایه محاسبه برای یک سرور اختصاصی (dedicated server)

علاوه بر این جداولی هم ارائه میشه که بازای هر کانکشن یا کاربر همزمان حداقل مقدار دیسک و حافظه مورد نیاز هم مشخص میشه. مثلا اگر حداقل حافظه 100 مگابایت و برای هر کانکشن همزمان هم 3 مگابایت اعلام شده باشه، برای یک سرور اختصاصی با 250 کاربر همزمان حداقل 100 + 250*3 = 850 مگابایت حافظه نیاز هست. البته این فقط برای اون برنامه کاربردی یا سرویس خاص هست (مثلا وب سرور) و حداقلهای خود سیستم عامل هم باید اضافه بشه.
گاهی وقتها این فرمولها خطی نیست یا به چند عامل دیگه هم بستگی داره که معمولا جدول ارائه میشه.

در مورد فضای دیسک هم بهمین شکل محاسبه میشه ولی در مورد قدرت پردازشگر بر مبنای حداقل قدرت پایه و نسبتهای عملکردی پردازشگرها عمل میشه. یعنی بعنوان مثال اگر پردازشگر پایه PIII800MHZ اعلام شده باشه و طبق محاسبات نیاز به 6 برابر کارآیی باشه باید پردازشگری انتخاب بشه که این نیاز رو برآورده کنه.

vmf
02-07-2006, 01:32 PM
خوب - ظاهرا همین لیست مورد قبوله!

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

این روش استفاده از منابع اضافی یا تکراری رو کلا بهش redundancy میگن که در بعد نرم افزاری بخصوص در سطح دیتابیس بشدت ازش دوری میشه ولی در بعد سخت افزار، اونجا که بحث قابلیت اطمینان (reliability) یا مقاوم بودن در برابر خرابی (fault tolerance) مطرح هست، بخشی از راه حل محسوب میشه.

اما اینکه چگونه redundancy رو در هر یک اجزای سخت افزاری سرور پیاده کنیم موضوع ادامه مبحث هست که به اون میپردازیم.
خیلی عالیه مازو عزیز
اگر ممکنه این قسمتش رو بیشتر توضیح بده !!
مخصوصا مسائلی مثل کانکشن های سرور که ممکنه ایراد پیدا کنند.
راستی مواردی که از مادربرد dual استفاده بشه اگر یکی ایراد پیدا کنه اون یکی کار رو انجام میده !؟

vmf
02-07-2006, 01:37 PM
راستی من تو کار گیم نیستم ،، یعنی اصلا استعداد بازی کردن ندارم ، خیلی دوست دارم حداقل های گیم سرور رو بدونم

mazoolagh
02-08-2006, 06:43 PM
فکر کنم game serverها بیشتر به communication serverها شبیه باشن.

مساله redundancy اگر از سطح اجزای سیستم (subsystem) به سطح سیستم کامل برسه دیگه اسمش میشه clustering که اگر عمری باقی بود اون رو هم مطرح میکنیم.

تو این بحث اینکه سرور ما کارش چی هست چندان اهمیتی نداره چون اجزای اصلی همه سرورها بدون توجه به ریز وظایفشون بهرحال شامل پردازشگر + حافظه + دیسک + ارتباطات میشه. تفاوت سرورها در میزان اهمیت و وزن هر کدوم از این اجزا هست ولی اصل قابلیت اعتماد برای همشون صادقه!

Rax
02-08-2006, 06:48 PM
فکر کنم game serverها بیشتر به communication serverها شبیه باشن.

مساله redundancy اگر از سطح اجزای سیستم (subsystem) به سطح سیستم کامل برسه دیگه اسمش میشه clustering که اگر عمری باقی بود اون رو هم مطرح میکنیم.

تو این بحث اینکه سرور ما کارش چی هست چندان اهمیتی نداره چون اجزای اصلی همه سرورها بدون توجه به ریز وظایفشون بهرحال شامل پردازشگر + حافظه + دیسک + ارتباطات میشه. تفاوت سرورها در میزان اهمیت و وزن هر کدوم از این اجزا هست ولی اصل قابلیت اعتماد برای همشون صادقه!

تو ايده ال ترين شرايط 8 پردازنده دو هسته اي....32 گيگ رم رجيسترد...و ديسك استايك نوع بي كه فكر كنم
تمام خونه زندگيمون رو بايد واسه خريدش بفروشيم..:blink: :laugh:

kakihot
02-09-2006, 03:20 AM
va 1 case zalman

http://media.hardwareanalysis.com/articles/small/11063.jpg

Boulder
02-11-2006, 03:04 PM
این برادر کیوان هم که همش توی کیس و خنک کننده ها سیر می کنه... مازولاق جان منتظر ادامش هستیم

vmf
02-11-2006, 04:23 PM
فکر کنم game serverها بیشتر به communication serverها شبیه باشن.

تو ايده ال ترين شرايط 8 پردازنده دو هسته اي....32 گيگ رم رجيسترد...و ديسك استايك نوع بي كه فكر كنم
من گیم باز نیستم ولی بستگی به نوع بازی و روشش هم هست. مثلا در یک بازی ممکنه از سرور فقط به عنوان منبع ذخیره و ارسال اطلاعات استفاده بشه ، که بیشتر جنبه ذخیره سازی و ارتباطی مهم هست و در حالت دیگه ممکنه یک مقدار از بار پردازشی روی سرور قرار بگیره یا حالت های دیگه.
راستی باید یک مقاله در زمینه asterisk ارائه بدم ، فکر از بهترین انواع (نرم افزار) سرور های ارتباطی باشه که نیاز سخت افزاری رو خیلی کم میکنه.

mazoolagh
02-14-2006, 07:05 PM
همین 3-4 روز پیش اینجا یک پست نوشتم که موقع ارسال پیغام داد فروم غیب شده و تا یکساعت پیش هم همینطور بود!

در هیچ subsystemی باندازه دیسک مزایای redundancy ملموس نیست و فکر کنم همه یک آشنایی قبلی باهاش داشته باشن.

RAID = Redundant Array of Independent Disks
گاهی بجای Redundant از Reliable هم استفاده میشه که مصداقش بستگی به نوع بستن RAID داره - ضمنا چند جا دیدم که بجای Independent از Inexpensive نام برده شده که مسلما نادرسته چون معمولا در یک سیستم که قابلیت اطمینان مطرح هست دیسک ارزون معنی نداره!

حالا نمیدونم انواع RAID رو بشکافم یا اینکه لینک بگذارم کافیه؟

Rax
02-15-2006, 09:02 AM
همین 3-4 روز پیش اینجا یک پست نوشتم که موقع ارسال پیغام داد فروم غیب شده و تا یکساعت پیش هم همینطور بود!

در هیچ subsystemی باندازه دیسک مزایای redundancy ملموس نیست و فکر کنم همه یک آشنایی قبلی باهاش داشته باشن.

RAID = Redundant Array of Independent Disks
گاهی بجای Redundant از Reliable هم استفاده میشه که مصداقش بستگی به نوع بستن RAID داره - ضمنا چند جا دیدم که بجای Independent از Inexpensive نام برده شده که مسلما نادرسته چون معمولا در یک سیستم که قابلیت اطمینان مطرح هست دیسک ارزون معنی نداره!

حالا نمیدونم انواع RAID رو بشکافم یا اینکه لینک بگذارم کافیه؟

حالا بحث هارد استاتیک با توجه به قیمت پایینش مهمتر به نظر میرسه...

گرچه رید هم مثل نون شب واجبه ولی همون لینک فکر کنم بیتره..مگه بخوایم یه تاپیک جدا بزنیم کلی در مورد بحث کنیم.؟؟؟

mahdi206
02-15-2006, 11:02 AM
اگه ميشه بحث raid رو اينجا ادامه بدين تا ما هم يه چيزي ياد بگيريم.
http://www.my.blackmice.com/thread2565.html