سلام
یک سایتی ساختم که کاربران در هر ساعت به طور میانگین بیش از 200 تا نظر ارسال میکنن, ایا لازم هست از برنامه نویسی موازی یا چند نخی استفاده کنم؟
سلام
یک سایتی ساختم که کاربران در هر ساعت به طور میانگین بیش از 200 تا نظر ارسال میکنن, ایا لازم هست از برنامه نویسی موازی یا چند نخی استفاده کنم؟
این مقادیر در طول یک ساعت چیز قابل توجهی نیست . شما حتی بدون استفاده از پردازش موازی نباید به مشکلی بخورید البته اگر تمیز و بهینه کد زده باشید.
برای اینکه بدونید چه زمان پردازش موازی استفاده کنید دیگه باید کمی جستجو کنید:
https://stackoverflow.com/questions/...el-programming
اولین نکته اینه که عملیات مورد نظر باید به اندازه ی کافی طولانی باشه که Thread جدید ایجاد کنید. تعداد Thread هایی که یک سیستم میتونه داشته باشه محدوده و ایجاد مداوم اونها مشکل ایجاد میکنه. پس شرط اول طولانی بودن عملیاتهاست و نه تعدادشون. وقتی تعداد زیاده بهتره دفعات ذخیره سازی اطلاعات در دیتابیس رو کمتر کنید. برای SQL Server خیلی راحت تره که 1000 تا نظر رو یکجا ذخیر کنه تا اینکه 1000 تا نظر رو جدا جدا ایجاد و ذخیره کنه.
ثبت شدن 200 نظر در هر ساعت یا 4 نظر در دقیقه اونقدر زیاد نیست که تاثیر زیادی در سرور بزاره. ولی اگر قرار بود 2000 تا نظر باشه حتما به یک ظرف میانی برای نگه داری موقت اطلاعات نیاز داشتید.
1- کارهایی که از طریق وب سرویس های دیگر انجام میدهید (مانند ارسال پیامک ) بهتر است در Thread جدا انجام دهید. به طور کلی کارهایی که توسط یک سرور دیگر انجام میشود بهتر از Async باشد چون اصل کار در یک سرور دیگه داره انجام میشه و عملا کاری از سرور جاری بر نمیاد که جز انتظار کشیدن.
2- هر وقت عملیات های سیستمی دارید مانند کار با فایلهای (ذخیره یا باز یابی فایل)
موازی سازی عملیات های دیتابیس در بسیاری از موارد تاثیر زیادی روی بازدهی سایت نمیذاره. خیلی وقتها باید تست کنید و شرایط رو بسنجید.