ali salimi
5 سال پیش توسط ali salimi مطرح شد
12 پاسخ

راه حل سرعت لود هنگام دریافت دیتا از api

سلام دوستان، من از یک سایت مبدا یه سری اطلاعات api زیادی میگیرم که وقتی از سایت خودم رکوست میدم و اطلاعات رو دریافت میکنم سرعت سایت به شدت کاهش می یابد. بنده در این روش از سمت کلاینت رکوست میفرستم و در جایی هم ذخیره نمیشد.
لازم به ذکر است من هر ثانیه باید اطلاعاتش بروز باشه؟
بنظرتون چیکار کنم که این مشکل برطرف بشه؟؟؟؟
بیام اول توی دیتابیس ذخیره کنم و بعد از سمت سرور خودم نمایشش بدم؟
یا سرور اختصاصی بگیریم؟
راه حلی دارین برای اینکار
متشکر پیشاپیش


ثبت پرسش جدید
ali salimi
@salim 5 سال پیش مطرح شد
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

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

آیا از سیستم Cache استفاده میکنید؟


ali salimi
@salim 5 سال پیش مطرح شد
0

تشکر از پاسختون
الان روی لوکال هاست هستش.
تعداد درخواست هر ثانیه یک رکوست مجاز هستش در ساعت 3600 تا رکوست.
ولی من رکوست هارو اتوماتیک نکردم وختی میخام صفحه رو رفرش کنم 10-12 ثانیه طول میکشه
داده ها مدام در حال تغییر هستن و نمیشه یه قسمت هایی رو کش کرد.
@ali.bayat


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

این تعداد درخواست رو لازم دارید؟ اون هم هر ۱ ثانیه. مقادیر دیگه مثل ۱۰ ثانیه رو مد نظر داشتید؟ یا امتحانشون کردید؟


ali salimi
@salim 5 سال پیش مطرح شد
0

برای مسابقات آنلاین ورزش ها می باشد. و هر ثانیه یک رکوست نیاز است. برای ده ثانیه اصلا برای این شیوه مناسب نیست.
مشکل اینجاست لود اولیه طول میکشد در کل چه ده ثانیه باشد چه یک ثانیه
@ali.bayat


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

بعضی مواقع ممکنه بعضی کتابخو‌نه هایی که از طریق CDN لود میشند باعث این داستان بشه . سعی کنید اگر چنین موردی هست برطرف کنید و فایل ها رو از روی سیستم لود کنید. البته این کار برای مراحل Development هست و در حالت Production نباید چنین باشه


ali salimi
@salim 5 سال پیش مطرح شد
0

@hesammousavi
والا دو سه روزه هنوز موفق نشدم درستش کنم.
بحث سر زمان رکوست ها نیست. بحث سر اینه هر بار رکوست میدم لود صفحه خیلی میاد پایین.. میره دونه دونه دیتاها رو میخونه با استفاده از حلقه for که هر آرایه رو داخل تیبل قرار بده


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 5 سال پیش مطرح شد
0

سلام اون سایتی که ازش api گرفتین چی هست ! چه حجم از اطلاعات رو دریافت میکنه ؟


Alimotreb
تخصص : کانفیگ سرور و برنامه نویس
@Alimotreb 5 سال پیش مطرح شد
0

سلام
@salim

باید مستندات وب سرویس بررسی بشه
اینکه شما در حا اطلاعات رو بخونید و نمایش بدید
خیلی بهتر این هست که درخواست بدید ، ذخیره کنید تو دیتابیس ، بعد نمایش بدید
حالت اول بهینه تر هست
اینکه میگید لود طول میکشه ،از طریق سیستم شما محاسبه دقیقی نمیشه روش انجام داد
اطلاعات دقیق از وب سرویس و اینا بدید تا اندازه گیری بشه نحوه خروجی و ریسپانسش!

این لود میتونه تحت تاثیر خیلی چیزای دیگه ای باشه که توی صفحه باید لود شه ، شاید از وب سرویس نباشه


ali salimi
@salim 5 سال پیش مطرح شد
0

متشکرم از لطفتون
@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 هر رشته ورزشی به این صورت همه اطلاعات رو قاطی کردن.
مثلا {مشخصات رشته فوتبال},{مشخصات لیگ},{مشخصات مسابقه},{مشخصات تیم اول},{مشخصات تساوی},{مشخصات تیم دوم}, {مشخصات رشته تنیس},{مشخصات لیگش},{مشخصات مسابقه},{مشخصات تیم اول},{مشخصات تساوی},{مشخصات تیم دوم}

همه ورزش ها مانند الگو بالا در دنباله هم دقیقا زده شده و نمیدونم چجوری اطلاعات هر کدوم رو تفکیک کنم چند روش اجرا کردم جواب نداد.
اگه کسی چیزی ب ذهنش میرسه ممنون میشم اطلاع بده.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

API داره اطلاعات رو به این شکل به شما بر‌می‌گردونه .. یا باید API رو تغییر بدید و یا اینکه ساختار داده json برگشتی از API رو کاملا تحلیل کنید.


ali salimi
@salim 5 سال پیش مطرح شد
0

@ali.bayat
بله درسته به این شکل برمیگردونه ولی منظورتون رو متوجه نشدم از تحلیل کامل داده و تغییر api
میشه توضیح بدید در این مورد که چجوری تفکیک کنم این داده هارو متشکرم


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام