سلام دوستان، من از یک سایت مبدا یه سری اطلاعات api زیادی میگیرم که وقتی از سایت خودم رکوست میدم و اطلاعات رو دریافت میکنم سرعت سایت به شدت کاهش می یابد. بنده در این روش از سمت کلاینت رکوست میفرستم و در جایی هم ذخیره نمیشد.
لازم به ذکر است من هر ثانیه باید اطلاعاتش بروز باشه؟
بنظرتون چیکار کنم که این مشکل برطرف بشه؟؟؟؟
بیام اول توی دیتابیس ذخیره کنم و بعد از سمت سرور خودم نمایشش بدم؟
یا سرور اختصاصی بگیریم؟
راه حلی دارین برای اینکار
متشکر پیشاپیش
الان سایتتون به چه صورت میزبانی میشه؟
مقدار درخواستی که در ساعت یا روز میفرستید چقدره؟
آیا از سیستم Cache استفاده میکنید؟
تشکر از پاسختون
الان روی لوکال هاست هستش.
تعداد درخواست هر ثانیه یک رکوست مجاز هستش در ساعت 3600 تا رکوست.
ولی من رکوست هارو اتوماتیک نکردم وختی میخام صفحه رو رفرش کنم 10-12 ثانیه طول میکشه
داده ها مدام در حال تغییر هستن و نمیشه یه قسمت هایی رو کش کرد.
@ali.bayat
این تعداد درخواست رو لازم دارید؟ اون هم هر ۱ ثانیه. مقادیر دیگه مثل ۱۰ ثانیه رو مد نظر داشتید؟ یا امتحانشون کردید؟
برای مسابقات آنلاین ورزش ها می باشد. و هر ثانیه یک رکوست نیاز است. برای ده ثانیه اصلا برای این شیوه مناسب نیست.
مشکل اینجاست لود اولیه طول میکشد در کل چه ده ثانیه باشد چه یک ثانیه
@ali.bayat
بعضی مواقع ممکنه بعضی کتابخونه هایی که از طریق CDN لود میشند باعث این داستان بشه . سعی کنید اگر چنین موردی هست برطرف کنید و فایل ها رو از روی سیستم لود کنید. البته این کار برای مراحل Development هست و در حالت Production نباید چنین باشه
@hesammousavi
والا دو سه روزه هنوز موفق نشدم درستش کنم.
بحث سر زمان رکوست ها نیست. بحث سر اینه هر بار رکوست میدم لود صفحه خیلی میاد پایین.. میره دونه دونه دیتاها رو میخونه با استفاده از حلقه for که هر آرایه رو داخل تیبل قرار بده
سلام
@salim
باید مستندات وب سرویس بررسی بشه
اینکه شما در حا اطلاعات رو بخونید و نمایش بدید
خیلی بهتر این هست که درخواست بدید ، ذخیره کنید تو دیتابیس ، بعد نمایش بدید
حالت اول بهینه تر هست
اینکه میگید لود طول میکشه ،از طریق سیستم شما محاسبه دقیقی نمیشه روش انجام داد
اطلاعات دقیق از وب سرویس و اینا بدید تا اندازه گیری بشه نحوه خروجی و ریسپانسش!
این لود میتونه تحت تاثیر خیلی چیزای دیگه ای باشه که توی صفحه باید لود شه ، شاید از وب سرویس نباشه
متشکرم از لطفتون
@ali.bayat
سپاسگذارم از پاسختون
@hesammousavi
@Alimotreb
مشکل سرعت حل شد و چون از منبع سایتی که اطلاعات دریافت میکردم مشکل داشت ایمیل زدم ادرس جدید دادن و مشکل برطرف شد.
فقط با یه مشکل بزرگتر روبه رو شدم اینکه داده هایی که دارم قروقاطی هستن و برای تفکیکشون فکری به نطرم نرسیده . برخی از کد هارو قرار میدهم.
{
"success": 1,
"results": [
[
{
"type": "CL",
"CD": "1",
"FF": "",
"ID": "1",
"IT": "OV_1_1_9",
"MR": "5#Fulltime Result$1$X$2#1777$1778$1786$10116$50169^6#Match Goals$Over$Under#10124$10552^7#Asian Handicap In-Play$1$2#10147$10162^8#Goal Line In-Play$Over$Under#10148$10163",
"NA": "Soccer",
"OR": "0",
"PC": "3"
},
{
"type": "CT",
"FF": "4~01",
"ID": "1",
"IT": "OVBulgaria-B-PFGC1_1_9",
"NA": "Bulgaria B PFG",
"OR": "0"
},
{
"type": "EV",
"AU": "0",
"C1": "1",
"C2": "42725853",
"C3": "81826001",
"CB": "",
"CC": "Bulgaria B PFG",
"CP": "",
"CT": "Bulgaria B PFG",
"DC": "1",
"ES": "",
"ET": "0",
"FB": "0",
"FF": "4~01",
"FI": "81825887",
"FS": "1",
"ID": "15427258532C1_1_9",
"IT": "OV15427258532C1_1_9",
"LM": "22",
"MD": "0",
"MO": "0",
"MP": "0",
"MS": "0",
"NA": "CSKA 1948 Sofia v Lokomotiv 1929 Sofia",
"OR": "0",
"PE": "",
"SB": "0",
"SD": "0",
"SE": "0",
"SS": "1-0",
"SV": "1",
"T1": "5",
"T2": "2",
"T3": "3",
"TD": "0",
"TM": "0",
"TS": "1",
"TT": "1",
"TU": "20190722163041",
"UC": "",
"VI": "0",
"VS": ""
},
{
"type": "MA",
"CN": "3",
"FF": "4~01",
"FI": "81826001",
"GO": "2nd",
"ID": "1777",
"IT": "OV15427258532C1-1777_1_9",
"NA": "Fulltime Result",
"OR": "0",
"PC": "OV_1_1_9",
"PY": "",
"SU": "0",
"SY": "0",
"TO": "1~GD"
},
{
"type": "PA",
"BS": "",
"FI": "81826001",
"HA": "",
"HD": "",
"ID": "181752292",
"IT": "OV81826001-181752292_1_9",
"NA": "CSKA 1948 Sofia",
"OD": "1/9",
"OR": "0",
"SU": "0"
},
{
"type": "PA",
"BS": "",
"FI": "81826001",
"HA": "",
"HD": "",
"ID": "181752293",
"IT": "OV81826001-181752293_1_9",
"NA": "Draw",
"OD": "13/2",
"OR": "1",
"SU": "0"
},
{
"type": "PA",
"BS": "",
"FI": "81826001",
"HA": "",
"HD": "",
"ID": "181752294",
"IT": "OV81826001-181752294_1_9",
"NA": "Lokomotiv 1929 Sofia",
"OD": "14/1",
"OR": "2",
"SU": "0"
},
{
"type": "CT",
"FF": "",
"ID": "1",
"IT": "OVCzech-2.-LigaC1_1_9",
"NA": "Czech Republic 2. Liga",
"OR": "1"
},
{
"type": "EV",
"AU": "0",
"C1": "1",
"C2": "42723520",
"C3": "81822970",
"CB": "CZSKUS",
"CC": "Czech 2. Liga",
"CP": "",
"CT": "Czech Republic 2. Liga",
"DC": "1",
"ES": "",
"ET": "0",
"FB": "0",
"FF": "",
"FI": "81583624",
"FS": "1",
"ID": "15427235202C1_1_9",
"IT": "OV15427235202C1_1_9",
"LM": "149",
"MD": "0",
"MO": "0",
"MP": "3",
"MS": "13650800",
"NA": "FK Usti nad Labem v Vysocina Jihlava",
"OR": "0",
"PE": "",
"SB": "0",
"SD": "0",
"SE": "0",
"SS": "0-0",
"SV": "1",
"T1": "5",
"T2": "2",
"T3": "3",
"TD": "0",
"TM": "0",
"TS": "1",
"TT": "1",
"TU": "20190722160055",
"UC": "",
"VI": "10",
"VS": ""
},
{
"type": "MA",
"CN": "3",
"FF": "",
"FI": "81822970",
"GO": "1st",
"ID": "1777",
"IT": "OV15427235202C1-1777_1_9",
"NA": "Fulltime Result",
"OR": "0",
"PC": "OV_1_1_9",
"PY": "",
"SU": "0",
"SY": "0",
"TO": "1~GD"
},
{
"type": "PA",
"BS": "",
"FI": "81822970",
"HA": "",
"HD": "",
"ID": "181345667",
"IT": "OV81822970-181345667_1_9",
"NA": "FK Usti nad Labem",
"OD": "7/4",
"OR": "0",
"SU": "0"
},
{
"type": "PA",
"BS": "",
"FI": "81822970",
"HA": "",
"HD": "",
"ID": "181345669",
"IT": "OV81822970-181345669_1_9",
"NA": "Draw",
"OD": "15/8",
"OR": "1",
"SU": "0"
},
{
"type": "PA",
"BS": "",
"FI": "81822970",
"HA": "",
"HD": "",
"ID": "181345670",
"IT": "OV81822970-181345670_1_9",
"NA": "Vysocina Jihlava",
"OD": "7/4",
"OR": "2",
"SU": "0"
}
]]}
در درون result هر رشته ورزشی به این صورت همه اطلاعات رو قاطی کردن.
مثلا {مشخصات رشته فوتبال},{مشخصات لیگ},{مشخصات مسابقه},{مشخصات تیم اول},{مشخصات تساوی},{مشخصات تیم دوم}, {مشخصات رشته تنیس},{مشخصات لیگش},{مشخصات مسابقه},{مشخصات تیم اول},{مشخصات تساوی},{مشخصات تیم دوم}
همه ورزش ها مانند الگو بالا در دنباله هم دقیقا زده شده و نمیدونم چجوری اطلاعات هر کدوم رو تفکیک کنم چند روش اجرا کردم جواب نداد.
اگه کسی چیزی ب ذهنش میرسه ممنون میشم اطلاع بده.
API داره اطلاعات رو به این شکل به شما برمیگردونه .. یا باید API رو تغییر بدید و یا اینکه ساختار داده json برگشتی از API رو کاملا تحلیل کنید.
@ali.bayat
بله درسته به این شکل برمیگردونه ولی منظورتون رو متوجه نشدم از تحلیل کامل داده و تغییر api
میشه توضیح بدید در این مورد که چجوری تفکیک کنم این داده هارو متشکرم
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟