معماری سایت برای بیش از ۵۰۰۰ الی ۱۰۰۰۰ یوزر آنلاین

- 4 روز پیش
توسط developer آپدیت شد
ali jvn. ( 400 تجربه )
1 هفته پیش

سلام دوستان عزیز

بنده میخوام یک سایت طراحی کنم با لاراول که مشتریم میگه میخواد روی ۱۰۰۰۰ یوزر آنلاین به مشکل نخوره و down نشه
از نظر کد نویسی توی پروژه معمولا refactor میکنم کد هام رو و اینکه تمیز کد میزنم بنابراین از این بابت مشکلی ندارم
فقط میخوام بدونم آیا لاراول و اصلا آیا php معماری خاصی داره که باهاش بشه یه همچین کاری رو هندل کرد یا اینکه اصلا با این قضیه مشکلی نداره ؟
لطفا یه راهنمایی در مورد معماری اینجور سایت ها اگر کسی میدونه به من بده ممنون میشم
احتمالا سوال خیلیا باشه
با سپاس فراوان

developer ( 27031 تجربه )
1 هفته پیش

10 هزارتا آنلاین خیلی زیاده و بعید میدونم اینقدر کاربر داشته باشه ولی اگر هم داشته باشه لاراول جواب نمیده
برید سمت نود جی اس یا گو لنگ و ...

ali jvn. ( 400 تجربه )
1 هفته پیش

@developer
بنظرتون ۵۰۰۰ رو جواب میده؟

محسن بستان ( 6920 تجربه )
1 هفته پیش

@alijavanmardi1996
بهترین زبان برای اینکار به نظرم Node js و یا Go هست . PHP درسته که خیلی عالیه منتهی فکر نکنم عاقلانه باشه برای این حجم داده.

Alimotreb ( 14737 تجربه )
1 هفته پیش

سلام
@alijavanmardi1996

جواب میده دوست عزیز
لاراول میتونه خوب هندل کنه این قضیه رو در صورتی که منابع لازم از سمت سرور بهش داده بشه
برای این کار
سرور رم کمتر از 32 گیگ نگیرید
همراه با یه پردازنده قوی Intel Xeon
کلود لینوکس هم حتما نصب بشه روی سرور ، یه وب سرور خوب هم مثل لایت اسپید متناسب با تعداد هسته سرور هم نصب بشه

خیلی راحت و ایمن میتونید این قضیه رو هندل کنید

saeed ( 170 تجربه )
7 روز پیش

فک کنم با ردس کرد و همچنین کلاستر کردن میتونید بیشتر از اینها هم جواب بگیرید

ali jvn. ( 400 تجربه )
7 روز پیش

آخه اگر php جواب نمیداد چرا digikala سوییچ کرد روی php خب میرفت سراغ node.js
درسته node.js کامل ساخته شده برای request های بالا ولی میخواستم ببینم که laravel و php هم همچین قابلیتی دارن یا نه

من خودم تو این فکر بودم که برای دیتابیس از یک سرور مستقل استفاده کنم که همه ی کارها روی یک سرور اجرا نشن
نظرتون در مورد این کار چی هست؟

developer ( 27031 تجربه )
7 روز پیش

دیجی کالا نهایت کاربر آنلاینش 40 50 تا هست نه 10000!!!

این عدد که شما میگید خیلی بالا هست، اگه واقعا اینقدر کاربر آنلاین دارید اصلا نرید سمت لاراول و php که پشیمون میشید.

لاراول نهایتا 200 300 تا رو جواب میده

ali jvn. ( 400 تجربه )
7 روز پیش

@developer
من حس میکنم مشتریم منظورش ۱۰۰۰۰ تا در روز یا ساعت بوده نه لحظه
در این صورت چی بازم جواب نمیده؟

developer ( 27031 تجربه )
7 روز پیش

ببینید به شرطی که منابع سرور کافی داشته باشید لاراول ثانیه ای 300 400 تا جواب میده، یعنی روزی چند میلیون ریکوئست،

پس واسه 10000 تا توی ساعت میشه ثانیه ای 3 ریکوئست که راحت جواب میده

علی بیات ( 38337 تجربه )
7 روز پیش

ابتدا مقدار واقعی درخواست/ثانیه رو مشخص کنید و بعد دنبال زبانش بگردید.

روی نسخه های جدید PHP (۷ به بالا) در شرایط خوب لاراول حدودا ۵۰۰ تا ریکوئست در ثانیه رو جوابگو هست. (این مقدار برای 95٪ پروژه‌های ما در ایران کافیه)
NodeJS بیشتر و گزینه نهایی هم زبان Go هست

sajjad ( 5129 تجربه )
7 روز پیش

چی 10000 تا خیلی هست ! شک نکن با laravel بزنی down میشه این مقدار رو نمیتونه هندل کنه اگر هدفت با php فکر کنم با yii2 بتونی به یه جایی برسی در غیر اینصورت از node js یا go استفاده کن البته rails هم گزینه فوق العاده ای هست که بلد نیستیم :)

رایموند دراگون ( 27163 تجربه )
6 روز پیش

@developer
درود...
دیجیکالا اتفاقا زمان آنلاین کاربران بسیار بالاست...
یادم باشه روزی ۳۰۰۰۰ الی ۵۰۰۰۰ تا سفارش داره و کاربران زمان بیشتری صرف جستجو در دیجیکالا برای پیدا کردن محصول مورد علاقه خود می کند حتی گفته شده ۵۰۰۰۰۰ تا محصول در دیجی کالا ثبت شده بخواد کاربر یکی محصول در آن ۵۰۰۰۰۰ محصول پیدا کنه باید زمان بیشتری برای پیدا محصول اختصاص بده...
خب کاربر زمان بیشتری در دیجی کالا می گذرونه یعنی مدت زمان آنلاین بودن بالاست و فوق یکساعت در سایت دیجی کالا آنلاین می مونه...
خود دیجی کالا اعلام کرده وقتی هر چقدر کاربر زیاد باشه و تعداد بالا باشه باید سرور قدرتمندی برات تعریف بشه ... حتی حجم رم سرور دیجیکالا از یک ترابایت گذشته...

رایموند دراگون ( 27163 تجربه )
5 روز پیش

لاراول تعداد کاربران آنلاین نامحدود پشتیبانی می کند.

متن انگلیسی :

Laravel supports an infinite number of online users.

Your server configuration is the deciding factor in what you can support. IF you have a tiny little 1 cpu 1 core 1 gig of ram server running @ 10mbps then you number is considerably lower than a massive AWS cloud with load balancing and all that fun stuff running at 10gbps...

Its not laravel that decides these things, its the rest of your configuration.
developer ( 27031 تجربه )
5 روز پیش

رایموند جان منظور از کاربر آنلاین یعنی تعداد ریکوئستها در ثانیه هست نه اینکه صد میلیون نفر بیان فقط نگاه کنند سایت رو و ریکوئستی ندن!
در ضمن اگه حساب کنی دی جی کالا به طور متوسط هر ثانیه نهایتا 10 ریکوئست داره نه بیشتر
@RaymondDragon

رایموند دراگون ( 27163 تجربه )
5 روز پیش

@developer
منظور شما از درخواست ها چیه؟

developer ( 27031 تجربه )
5 روز پیش

@RaymondDragon
یعنی کاربر به سمت سرور یک درخواست بده مثلا باز کردن یک صفحه جدید، یا پست کردن سوال یا لایک کردن و ...

reza ( 2665 تجربه )
5 روز پیش

کلا به نظرم واسه سایت ها ( از شخصی تا فروشگاه اینترنتی به عظمت دیجیکالا ) پی اچ پی بهترین گزینه هست
ولی واسه اپلیکیشن های موبایلی که خیلی کاربر با برنامه تعامل داره و ریکوئست زیاد میده مث اینستا یا بازار یا ... node js و go مناسب تر باشن

رایموند دراگون ( 27163 تجربه )
5 روز پیش

@developer
خب ...
این درخواست گسترده تر به نظر میاد...

دیجی کالا ۵۰۰.۰۰۰۰ الی ۱.۰۰۰.۰۰۰ محصول ثبت شده داره...
کاربری بخواد بین این همه محصولات محصول مورد علاقه خودش پیدا کنه به نظرت درخواست ها بالاتر نمیره؟ یا در صفحه نوشته جدید برای محصول و لایک و غیره انجام بده...
قراره ۲۰۰ میلیون کاربر پشتیبانی کنه...

developer ( 27031 تجربه )
4 روز پیش

شما داری حدسی میگی من دارم طبق امار میگم طبق آمار خودشون روزانه 850 هزار بازدید میشه از سایت، نگفته بازدید یونیک، گفته کلا بازدید، پس نهایتا به طور متوسط ثانیه ای 10 ریکوئست هست
@RaymondDragon
که لاراول تا 300 400 رو جواب میده

برای ارسال پاسخ باید وارد سایت شوید