PDA

View Full Version : محاسبه فشار یک سایت آمارگیر بر سرور



Weblove
دوشنبه 31 فروردین 1394, 19:12 عصر
سلام
میشه محاسبه کرد یک سایت مثل وبگذر چه سروری داره استفاده می کنه ؟
یکی از دوستان میگفت وبگذر 18 تا سرور استفاده می کنه :اشتباه:
شما چه نظری دارید ؟

-سیّد-
دوشنبه 31 فروردین 1394, 19:55 عصر
سلام
میشه محاسبه کرد یک سایت مثل وبگذر چه سروری داره استفاده می کنه ؟
یکی از دوستان میگفت وبگذر 18 تا سرور استفاده می کنه :اشتباه:
شما چه نظری دارید ؟
چند تا نکته رو باید در نظر بگیرید.
یکی این که منظور از سرور چیه؟ سرور داریم تا سرور! فکر نمی‌کنم ۱۸ تا سرور فول کانفیگ برای وبگذر لازم باشه!
دوم این که برای یه سرویسی مثل وبگذر، که باید همیشه در دسترس باشه، قطعاً برای هر بخشی باید یه backup داشته باشید.
یعنی حداقل حداقل ۲-۳ تا سرور لازمه تا HA باشید.
بعدش هم بسته به load ای که روی سیستم می‌افته، می‌تونید تعداد سرورها رو افزایش بدید. مخصوصاً اگه از سیستم‌های cloud و توزیع شده استفاده کرده باشید.
در نهایت هم بگم که بعضی وقتها یه چیزایی می‌تونه تعداد سرورهای استفاده شده رو به شدت کاهش بده. مثلاً تغییر تکنولوژی، یا مثلاً استفاده از هاردهای SSD.

hadi2016
سه شنبه 01 اردیبهشت 1394, 00:18 صبح
سرور این جور سایت ها باید خیلی قوی باشه
وگرنه شما فرض کنید چندیدن سایت بزرگ کد این آمارگیرو گذاشتن و سرور نکشه
هیچی دیگه تمام سایت هایی که این کدو گذاشتن به فنا میرن

rezaonline.net
سه شنبه 01 اردیبهشت 1394, 09:58 صبح
لود سایت مهمه پورت شبکه هارد ssd ترجیحا کلود استفاده کنید. من برای وبشمار از سرور 4هسته ای و رم 2 استفاده میکنم. تاکیدتون بر کانفیگ صحیح و برنامه نویسی بهینه باشه

-سیّد-
سه شنبه 01 اردیبهشت 1394, 10:23 صبح
‫به این نکته هم توجه کنید که استفاده از سیستم‌های توزیع شده، معمولاً در ابعاد کوچیک منابع بیشتری می‌خواد.
یعنی اگه مثلاً یه سرور گذاشتید با یه spec مشخص، روش MySql گذاشتید، و این سیستم می‌تونه فشار n رو تحمل کنه، اگه روی همین سرور یه پایگاه داده‌ی توزیع شده (مثل hbase - cassandra - mongo - ...) استفاده کنید، کاملاً ممکنه این سیستم نتونه حتی در حد n/2 فشار رو تحمل کنه.
نکته‌اش اینجاس که سیستم‌های توزیع شده برای توزیع شدن بهینه طراحی شدن، نه استفاده به صورت تکی. در حالی که در مورد تکنولوژی‌ای مثل MySql قضیه برعکسه.
از طرفی وقتی فشاری که روی سیستم میاد شروع می‌کنه از n بالاتر رفتن، دیگه اون سیستم MySql جواب نمی‌ده. ۲ تا راه اینجا هست: یکی این که سرور رو قوی‌تر کنید، و راه دیگه این که از سیستم‌های توزیع شده استفاده کنید. توجه کنید که برای این که قدرت یه سرور رو دو برابر کنید، هزینه خییییلی بیش از دو برابر می‌شه. ولی توی سیستم‌های توزیع شده و cloud، هزینه به صورت خطی بالا می‌ره.
یعنی اگه نمودار هزینه به قدرت پاسخگویی سیستم رو رسم کنید، یه نقطه‌ای هست که قبل از اون، استفاده از سیستم‌های توزیع شده اصلاً به صرفه نیست. ولی از یه جا به بعد، کاملاً به صرفه می‌شه.
حالا شما باید ببینید سیستمی که می‌خواید طراحی کنید (وبگذر) تو کدوم نقطه قرار داره، و این که توی مقیاسی که در آینده براش می‌بینید تا کجا جلو می‌ره. اگه سیستم انقدر بزرگ نخواهد شد که به اون نقطه نزدیک بشه، خوب استفاده از سیستم‌های single بسیار به صرفه تر و راحت‌تر هست (البته بازم تأکید می‌کنم که در کنار یه سرویسی که می‌خواد همیشه آنلاین باشه، حتماً باید از سیستم‌های backup استفاده کنید). ولی اگه می‌بینید load قراره به اون نقطه نزدیک بشه و یا ازش رد بشه، بهتره به فکر استفاده از سیستم‌های cloud و توزیع شده باشید.

این رو هم در نظر داشته باشید که سیستم‌هایی مثل hbase و hadoop برای داده‌ی زیاد طراحی شدن، و معمولاً روی یه تعداد خوبی سرور اجرا می‌شن. یعنی هیچ کس نمیاد روی یه سرور hadoop بالا بیاره! در عوض به صرفه‌تر هست که اون یه سرور خفن رو به مثلاً ۴ تا سرور معمولی تر بشکنید، و روش hadoop استفاده کنید. با این کار هم هزینه کمتر می‌شه، هم قدرت تحمل خطای کل سیستم بالا می‌ره.
البته همیشه برای همه‌ی کارها نمی‌شه از hadoop استفاده کرد و بعضی جاها اصلاً نمی‌صرفه (یا اصلاً بی معنی هست) آدم بخواد به این جور چیزا فکر کنه و ترجیح می‌ده با یه سیستم بسیار ساده‌تر مثل MySql کارش رو راه بندازه.