سلام.خسته نباشید.
دوستان میخواستم بدونم امکانش هست یک سایت از دو هاست لود شه؟یعنی یک دامنه ، برای مثال دامنه mc.com دو تاه هاست داشته باشه .یک هاست داخل کشور برای آی پی های ایران لود شه و یک هاست خارج از کشور برای آی پیی های غیر از ایران؟
نمایش نسخه قابل چاپ
سلام.خسته نباشید.
دوستان میخواستم بدونم امکانش هست یک سایت از دو هاست لود شه؟یعنی یک دامنه ، برای مثال دامنه mc.com دو تاه هاست داشته باشه .یک هاست داخل کشور برای آی پی های ایران لود شه و یک هاست خارج از کشور برای آی پیی های غیر از ایران؟
en.wikipedia.org/wiki/Content_delivery_network
میتونید از طریق httacces ای پی غیر ایرانو ریداریکت کنید به سایته دیگری که محتواش با شما یکسانه
مثلا اگر ایران بود این باز شه ir.site.com
اگر غیر ایران بود us.site.com
این ساب دامین ها هم میتونید به 2تا هاست متصل کنید
سلام.
شما برای این کار ۲ راه دارید:
۱-از CDN استفاده کنید.برای اینکه قضیه رو بهتر متوجه بشید، دامنه های زیر رو پینگ کنید.متوجه اختلاف پینگ تایم خواهید شد.
ir.payacdn.ir
de.payacdn.ir
us.payacdn.ir
ca,payacdn.ir
برای خود من زمان پینگ به این شرحه:
ایران:۳۷ میلی ثانیه
آلمان:۱۳۳
امریکا:۲۵۲
کانادا:۲۲۶
شما میتونید با این روش سرعت لود سایتتون رو تا ۵-۴ برابر بالا ببرید.
۲- از GEODNS استفاده کنید.به این صورت که یک سرور داشته باشید، به عنوان سرور master (که بهتره خارج از ایران باشه) و روی این سرور مستر GEODNS راه اندازی کنید و با توجه به کشور فرد بازدید کننده، از سرور مناسب بهره بگیرید.
متاسفانه CDN عمومی توی ایران هنوز راه اندازی نشده و بنده از سایت payacdn به صورت شخصی استفاده می کنم.
راه اندازی یک CDN با استفاده از سرور هزینه های زیادی داره اما میشه با تهیه هاست این هزینه ها رو کم کرد. در صورت تمایل بفرمایید که نحوه کار رو آموزش بدم.
cdn ایرانی داریم ؟
با احترام، این بدترین کار ممکنه!sync کردن دو دیتابیس کار اشتباهیه کلا.ریموت شدن به دیتا بیس هم که سرعت رو مخصوصا تو سرور ایران شدیدا پایین میاره!
این کار علاوه بر عیبی که عرض کردم،عیب های بی شمار دیگه هم داره.مثل:
۱-گوگل و سایر موتور های جستجو فقط یک سایدامین رو ایندکس خواهند کرد!!
۲-ریدایرکت کردن علاوه بر اینکه امتیاز منفی داره، توی بعضی مرورگر های امنیتی غیرفعال شده و به شما اجازه ریدایرکت رو نمیده.
۳-بازدید سایت بین دو یا چند سابدامین پخش میشه که این اصلا خوب نیست!
....
CDN اختصاصی داریم. مثلا همین payacdn.ir که عرض کردم. ولی به صورت عمومی نداریم! من قصد راه اندازی داشتم ولی با بررسی هایی که کردم، تو ایران به اون صورت طرفدار نداره و به هدر رفتن سرمایه منجر میشه.
برای نشون دادن کاهش سرعت لود،یک مثال کوچیک رو ببینید:
حجم فایل:۱.۵ مگابایت
زمان دریافت از
ایران:۱۷ ثانیه
امریکا:۴۲ ثانیه!
برای مشاهده عکس های پیوست رو دانلود کنید.
احتراما چطور میشه این cdn رو راه اندازی کرد ؟
آخر به نتیجه ای نرسیدیم...
البته ارتباط زیادی به موضوع تاپیک نداره ولی به اختصار عرض می کنم خدمتتون:
در واقع cdn مجموعه ای از یک سری سرور نود به عنوان سرویس دهنده فایل و یک سرور مستر به عنوان دامین نیم سرور(dns) هست.شما توی سرور مستر مشخص می کنید که به فرض کامپیوتر هایی که از ایران درخواست دسترسی به فایل رو میدن،از سرور اول که پایین ترین پینگ به کشور ایران رو داره سرویس بگیرن و کامپیوتر هایی که با آی پی امریکا درخواست میدن هم همینطور، به نزدیکترین و سریع ترین سرور ممکن وصل بشن.به این ترتیب کاربر ها فایل های استتیک (مثل فایل های js,css,jpg,png,gif و ...) رو از شبکه تحویل محتوا یا همون cdn بارگذاری می کنن و لود تایم سایت شما خیلی کم میشه.تکنیک هایی مثل مجبور کردن مرورگر به کش کردن فایل های استتیک و ... هم کمک خوبی به این مهم میکنه.
از نظر فنی هم خیلی ساده هست.
سرویس بایند (bind) رو نصب می کنید و maxmind geoip رو نصب میکنید.
بعد بایند رو کانفیگ می کنید.مثال:
بعد هم روی نودها nginx رو که به خاطر استفاده از تکنولوژی پروکـسی معکــوس سرعت بالاتری داره به عنوان وب سرور و varnish رو جهت کش کردن فایل ها نصب میکنید.البته بایند رو هم باید نصب کنید.کد:view “ir” {
match-clients { country_IR;};
recursion no;
zone “cdn.test.com” {
type master;
file “pri/cdn-us.db”;
};