QC · 30/09/2026

QC hiệu năng API và mã nguồn

Xuất xứ / Prompt / Giới hạn
Ngày 30/09/2026, yêu cầu nguyên văn: 1. Đóng vai top notch QC, scan 100% các api của hệ thống exam.flyer.us và teacher.flyer.us + ieltsguru.ai + các app và listing tất cả các api chậm hơn standard + giải thích lý do tại sao + đề xuất hướng giải quyết. 2. Scan 100% các source trong hệ thống để evaluate và listing các nơi có thể improve

Do trợ lý AI soạn trong một phiên làm việc; là bản đề xuất để đội kỹ thuật thảo luận, chưa phải kết luận.

Nguồn:

  • Hai tài khoản: tài khoản nghiệm thu nhỏ (1 lớp, 10 học sinh) và tài khoản chủ chuỗi CB Centres do người yêu cầu cấp ngày 30/09/2026, đo trên trường CB Mekong (87 lớp, 61 giáo viên, 1.099 học sinh). Chỉ đọc, không thao tác ghi.
  • Trình duyệt tự động (Playwright) mở 111 lượt trang: teacher.flyer.us (43 + 42 với CB Mekong), exam.flyer.us (10), ieltsguru.ai (13), ranking/study/games (3); ghi thời gian mọi request API.
  • Phát lại mỗi truy vấn chỉ đọc 8–12 lần để lấy p50/p90 khi gọi lẻ.
  • Gọi toàn bộ 187/331 trường gốc của GraphQL v2 không bắt buộc tham số (tham số mặc định, không giới hạn ngày) và 116/146 GET của REST v3/v4 theo OpenAPI production.
  • Đo cân nặng 6 trang chính; quét tĩnh 36 repo Gitea tổ chức flyer ở nhánh mặc định (fetch 30/09/2026).

Giới hạn:

  • Cột "trên trình duyệt" là trung vị lúc tải trang thật, khi nhiều truy vấn nặng chạy song song; cột "gọi lẻ" là lúc gọi riêng từng cái. Mức chậm xếp theo giá trị lớn hơn.
  • Các trường gốc gọi với tham số mặc định (không khoảng ngày) cho biết trường hợp xấu nhất mà API đang cho phép; màn hình thường truyền khoảng 30 ngày nên nhanh hơn.
  • Không có số đo phía máy chủ (APM, pg_stat_statements); thời gian gồm ~52 ms mạng Hà Nội → Singapore.
  • Index trong DB thật có thể nhiều hơn migration (tra phòng Thách đấu theo mã chỉ ~55 ms dù migration không có index). Dòng "không có index" cần DBA đối chiếu.
  • 30/146 GET REST và 144/331 trường GraphQL cần tham số bắt buộc không suy ra được nên chưa gọi. App mobile không chạy trên máy đo; mã nguồn games.flyer.us không có trong 36 repo.
  • Chi tiết bảo mật không đăng ở đây; gửi riêng đội backend.
41/424
22 API chậm (>500 ms) · 19 cần xem (200–500 ms) · 383 đạt · trang teacher 10,5 MB, trang chủ exam 23 MB

1Chuẩn đo

Chỉ sốĐạtCần xemChậm
Thời gian phản hồi API (p50, gồm ~52 ms mạng)≤ 200 ms200–500 ms> 500 ms
Dung lượng một phản hồi API≤ 50 KB50–150 KB> 150 KB
Dung lượng một lượt xem trang≤ 2 MB2–5 MB> 5 MB
JavaScript một trang≤ 1 MB1–3 MB> 3 MB

2API và trang chậm hơn chuẩn

#Điểm chậmĐo đượcVì saoĐề xuấtMức
1partnerViewerSchoolsOverviewKhông truyền khoảng ngày: 30 s rồi lỗi 500 · có 30 ngày: 147 msPhần lọc theo ngày đang bị comment trong resolver; gọi không tham số là quét toàn thời gian 21 trườngBắt buộc khoảng ngày ≤ 90 ngày; đặt statement_timeoutCao
2GET /v3/teacher/viewer/rollup-assign-tests6–19 s với tài khoản 1 bài giao · 5,6 s (p90 14 s) CB Mekong không lọcMột câu SQL gộp mọi trường hợp (cardinality()=0 OR …, UNION theo cờ) nên planner không dùng được index; tổng thời gian học tính trên toàn bộ bài giao, không chỉ trang đang xem. Bản sửa 29/09 chưa hếtTách truy vấn theo bộ lọc; chỉ tính thời gian học cho trang hiện tại; chạy EXPLAIN ANALYZE trên productionCao
3Nhóm biểu đồ, thống kê học sinhpartnerStudentMistakeWord 7–18 s · partnerStudyTimeChart 4,6 s · partnerCompletedTestChart 4,5 s · partnerTeacherStudyTimeChart tới 24 s · partnerNewStudents tới 14 sKhoảng ngày không bắt buộc; không truyền là tổng hợp toàn bộ lịch sử trường trên user_attempts (~23,5 triệu dòng)Bắt buộc khoảng ngày; bảng tổng hợp theo ngàyCao
4partnerViewerRollupClasses · partnerViewerRollupStudentsGọi lẻ 0,4–0,55 s · khi tải trang 1,3–1,7 s · RollupClasses gọi 15 lần/lượt xemTính trực tiếp CTE trên user_attempts, ai_conversation_sessions, assign_tests mỗi request; COUNT(*) OVER() buộc tính cả tập trước khi phân trang; các lời gọi chạy song song tranh nhau DBBảng tổng hợp theo ngày cập nhật bằng worker; gộp lời gọi trùngCao
5partnerViewerActivities2,1 s trên trình duyệt (CB Mekong) · 352 ms gọi lẻLọc school_id trên partner_activities (~4,15 triệu dòng), migration không có index cột này; totalCount thêm ~100 msIndex (school_id, created_at DESC); bỏ hoặc ước lượng totalCountCao
6REST báo cáo/v4/teacher/study-time/daily 1,8 s (66 KB) · /v3/teacher/viewer/rollup-teachers 1,6 s (p90 2,8 s) · /v3/teacher/schools 1,1 sTổng hợp trực tiếp trên dữ liệu hoạt động; /schools vừa sửa lỗi 500 ngày 29/09 nhưng còn chậmBảng tổng hợp; cache ngắn theo trườngCao
7games.flyer.us/vi/community/gamesTTFB 1,07–1,4 s · HTML 2,6 MB (1 MB nén) · no-storeRender một lần toàn bộ ~1.100 trò chơi vào HTML, không phân trang, không cachePhân trang 24 mục + tải thêm khi cuộn; cache ISR 60 sCao
8Trang chủ exam.flyer.us/en23 MB/lượt · 387 request · tải xong 6,6 sThư viện @cloudflare/speedtest tải ~12,5 MB và gửi ~1,3 MB mỗi 5 phút, chỉ để chọn CDNBỏ bài đo; chọn CDN ở edge hoặc đo 1 request nhỏCao
9Mọi trang teacher.flyer.us10,5 MB/lượt · ~495 request · 8,3 MB JS (332 file) · 30 API15 prefetch _next/data × 80 KB (mỗi cái chứa ~270 KB bộ dịch); gtag tải 3 lần + GTM; 11 API bố cục lặp lại ở mọi trang; GetViewerQuery gọi 2 lầnNạp namespace dịch theo trang; giảm prefetch; gộp GA; cache viewer, quyền, cấu hìnhCao
10Lỗi 500 khi gọi/v4/student/scores/yearly · 4 trường GraphQL (textToSpeak, partnerStudentChart, partnerViewerScoreDiamondAttempts, partnerViewerAssignTestScoreDiamondAttempts) trả "internal system error"Không kiểm tra đầu vào khi thiếu tham số tuỳ chọnTrả lỗi 400 có thông báo; test tham số rỗngTrung bình
11parentViewerNotifications1–8 sPhân trang trên notifications (~7,5 triệu dòng) kèm 2 truy vấn đếm riêng mỗi lầnIndex theo người nhận + thời gian; đếm bằng bộ đếm lưu sẵnTrung bình
12TestContentCheckPointsByCefrLevelOverviewQuery328 ms lẻ · 501 ms trên trình duyệtHàm cửa sổ theo cấp độ + đếm trên toàn bộ đề đã xuất bản; kết quả như nhau cho mọi người nhưng không cacheCache 5–10 phút hoặc materialized viewTrung bình
13Danh sách IELTS · chi tiết đềIeltsReadingCheckPoints 292 KB · IeltsListeningCheckPointList 248 KB · GetInfoCheckpointDetail 180 KBLấy thừa trường, không phân trangPhân trang; chỉ chọn trường màn hình cầnTrung bình
14Phòng chờ Thách đấuHỏi lại mỗi 3 s/học sinhchallengeByCode + players(first:250) + totalCount; migration không có index challenge_players(challenge_id)Subscription/WebSocket hoặc giãn 10 s; bổ sung indexTrung bình
15Pool kết nối REST v3 (flyer-rs)5 kết nối DB mỗi podTruy vấn chậm (mục 2, 6) giữ kết nối, request khác xếp hàng: bank-accounts p50 118 ms, p95 589 msPool 20 + PgBouncerTrung bình

3Nguyên nhân gốc chung

Nguyên nhânSố liệuHướng xử lý
Truy vấn theo từng đối tượng (N+1) ở GraphQL v2110 field resolver gọi DB · 6 dataloaderDataloader cho các resolver nằm trong danh sách
Không giới hạn độ phức tạp GraphQLKhông có FixedComplexityLimit; introspection bật trên productionGiới hạn complexity/depth; tắt introspection production
Index không nằm trong migrationpartner_activities.school_id, challenge_players.*, challenges.*_id, class_students.student_id, notification_schedules, diamond_transactionsXuất danh sách index thật từ DB, đưa vào migration, bổ sung phần thiếu
Ba nguồn migration cùng ghi một DBflyer-rs, flyer-go, examGom về một nguồn migration
Đếm tổng ở mọi danh sáchClient luôn xin totalCountChỉ đếm khi cần; dùng ước lượng
Phân trang OFFSET · tìm kiếm ILIKE '%…%'133 chỗ OFFSET · ~420 chỗ ILIKE/ContainsFoldPhân trang theo con trỏ; index trigram cho cột tìm kiếm
Polling dày, bỏ qua cache8 chỗ polling ở partner-web (3–60 s); 51 truy vấn network-only (partner-web), 41 (webs-exam)Subscription; cache-and-network

4Mã nguồn: nơi có thể cải thiện

#Vấn đềSố liệuĐề xuấtMức
1CI không chạy test26/36 repo có CI · chỉ 2 chạy test (flyer-go, auto-test) · 139 file test của exam không chạyBắt buộc test + lint trước mergeCao
2Không có testpartner-web 318k dòng, webs-exam 183k, mobile-student 144k, webs-ielts 102k: 0 file test · flyer-rs 122k dòng: 7 fileTest luồng chính trước (đăng nhập, giao bài, nộp bài, thanh toán)Cao
3Bảo mật cấu hình14 repo commit file .env*; introspection GraphQL mởRà và xoay khoá; chuyển sang secret store (chi tiết gửi riêng)Cao
4File quá lớn177 file >1.000 dòng · partner.resolvers.go 12.293 · customers.rs 10.124 · admin.resolvers.go 6.506 · study-import.page.tsx 4.124 · trang chủ exam 1.323Tách theo miền nghiệp vụTrung bình
5Repo không còn hoạt độngKhông commit >12 tháng: admin-api, exam-web, ranking-web, report, server-preview, mail-template, elevenlabs, python · admin-v1 (03/2025), mobile-ielts (11/2025), mobile (02/2026)Lưu trữ; ghi rõ repo thay thếTrung bình
6Khung lỗi thời, lệch phiên bảnNext 11 + React 17 (ranking-web, report) · Next 15 (webs-signup) · Next 16 ở repo khácNâng cấp hoặc lưu trữTrung bình
7Mã chép qua lại giữa repoBản build ckeditor5 (73 file) chép ở nhiều repo · tiptap dist · 81 file giống hệt giữa webs-exam và webs-ieltsGói dùng chungTrung bình
8Tài nguyên nặng trong repowebs-exam 51 file >1 MB (27 PNG, 12 JSON) · mobile 85 · mobile-student 33Nén WebP/AVIF; đưa lên CDNTrung bình
9Phụ thuộc CDN bên thứ ba lúc chạypdf.worker từ unpkg ở 5 chỗ (partner-web); rive.wasm từ unpkg (exam)Tự hostThấp
10Vệ sinh mãconsole.log: customer-success 294, partner-web 109 · tắt kiểm tra (eslint-disable/@ts-ignore): partner-web 142, admin-web 99, webs-exam 91 · Rust unwrap/expect ~2.000 ngoài file testBật luật lint chặn; xử lý lỗi thay cho unwrapThấp

5Toàn bộ API đã đo

424 API · sắp theo mức chậm
#LoạiAPIGọi lẻ p50 msTrên trình duyệt msKBTài khoản
1GraphQL gốcpartnerViewerSchoolsOverview30066–0CB MekongChậm
2REST/v3/teacher/viewer/rollup-assign-tests19575–0.6nhỏChậm
3GraphQL gốcpartnerStudentMistakeWord6938–0CB MekongChậm
4GraphQL gốcpartnerStudyTimeChart45757320CB MekongChậm
5GraphQL gốcpartnerCompletedTestChart4518–0CB MekongChậm
6GraphQLPartnerViewerActivities352214244CB MekongChậm
7REST/v4/teacher/study-time/daily1815–66.4CB MekongChậm
8GraphQLPartnerViewerRollupStudentWeak54016795CB MekongChậm
9REST/v3/teacher/viewer/rollup-teachers1637–13.2CB MekongChậm
10GraphQLPartnerViewerRollupClasses544127568CB MekongChậm
11GraphQLPartnerViewerStudentAssignTestStats14112280CB MekongChậm
12Tranggames.flyer.us/vi/community/games1208–2572nhỏChậm
13REST/v3/teacher/schools1147–1.3CB MekongChậm
14GraphQL gốcparentViewerNotifications1074–0CB MekongChậm
15GraphQL gốcpartnerDetailStudyTime10024880CB MekongChậm
16GraphQLPartnerStudentLists42273912CB MekongChậm
17GraphQLpartnerStudyTimeChart39073264CB MekongChậm
18GraphQL gốcpartnerDetailCompletedTest557–0CB MekongChậm
19GraphQLGetListClasses4115349CB MekongChậm
20GraphQLPartnerViewerClassesStudyTimeByDay114526148CB MekongChậm
21GraphQLPartnerViewerRollupStudentsScore4545188CB MekongChậm
22GraphQLTestContentCheckPointsByCefrLevelOverviewQuery32850160CB MekongChậm
23GraphQLpartnerDetailStudyTime1264882CB MekongCần xem
24GraphQLPartnerViewerChallenges1624712nhỏCần xem
25GraphQLPartnerViewerRollupStudentsAccuracySkills4044425CB MekongCần xem
26GraphQL gốcpartnerOverview2644150CB MekongCần xem
27GraphQLpartnerOverview1224150CB MekongCần xem
28GraphQL gốcpartnerNewStudents393–0CB MekongCần xem
29GraphQL gốcpartnerAssignTestProfiles362–0CB MekongCần xem
30GraphQLpartnerOverviewClasses2743600CB MekongCần xem
31GraphQL gốcpartnerTeacherStudyTimeChart358–1CB MekongCần xem
32REST/v4/student/journey/next-check-point348–0.6CB MekongCần xem
33RESTteacher.flyer.us/api/v3/teacher/viewer/rollup-assign-tests335–4CB MekongCần xem
34GraphQL gốcpartnerViewerAICallSignedUrl332–0CB MekongCần xem
35GraphQL gốcpaymentListBankVNP318–0CB MekongCần xem
36GraphQLPartnerViewerRollupNewStudents702870nhỏCần xem
37GraphQL gốcpartnerInfoAssignTest271–0CB MekongCần xem
38GraphQL gốcchallengesLobby243–0CB MekongCần xem
39GraphQLGetViewerQuery23022855CB MekongCần xem
40GraphQL gốcpartnerViewerUserAttempts225–0CB MekongCần xem
41GraphQLPartnerViewerSkillTestScore882040CB MekongCần xem
42GraphQLPartnerViewerAverageAccuracyByDay961932CB MekongĐạt
43GraphQL gốcpartnerAccuracyRanking189–0CB MekongĐạt
44GraphQL gốcpartnerViewerActivities188–0CB MekongĐạt
45GraphQLPartnerViewerGradeDistribution831861CB MekongĐạt
46GraphQL gốcpartnerStudyTimeRanking178–0CB MekongĐạt
47GraphQL gốcpartnerViewerStudentAssignTestStats177–0CB MekongĐạt
48GraphQLPartnerViewerBingoSubjects99177156nhỏĐạt
49GraphQL gốcadminUsers170–0CB MekongĐạt
50GraphQLIeltsListeningCheckPointList163–248nhỏĐạt
51RESTteacher.flyer.us/api/v3/teacher/schools163–8CB MekongĐạt
52GraphQL gốcpartnerClassRanking161–0CB MekongĐạt
53GraphQLStoreClassOptions153–0nhỏĐạt
54GraphQLPartnerViewerSchoolsOverview1431470CB MekongĐạt
55Tranggames.flyer.us/vi/host/VHoeSx6Vpc5kbK65FU3_O128–43nhỏĐạt
56GraphQLPartnerViewerAssignTestStats981230CB MekongĐạt
57GraphQLViewerPartnerTeachersList10212110CB MekongĐạt
58GraphQLViewerUserAttempts120–20nhỏĐạt
59GraphQLLibraryStudyCheckPoints117–29nhỏĐạt
60GraphQL gốcpartnerStudentList113–0CB MekongĐạt
61GraphQL gốcpartnerViewerChallenges113–0CB MekongĐạt
62GraphQL gốccheckPoints112–0CB MekongĐạt
63GraphQL gốccheckPointsPartner110860CB MekongĐạt
64GraphQLPartnerViewerAIThreads671101nhỏĐạt
65GraphQLViewerMistakeWordsIelts109–21nhỏĐạt
66GraphQLPartnerExploreViewerFeaturePlaylists7610834nhỏĐạt
67Tranggames.flyer.us/vi/games107–66nhỏĐạt
68GraphQLGetNotificationPartner10610225CB MekongĐạt
69GraphQLGetCheckPoints106–9nhỏĐạt
70GraphQLGetTestLevelsV2711056nhỏĐạt
71GraphQLGetListClassesTeacherList711050nhỏĐạt
72GraphQLNumberStudentInSchool711040CB MekongĐạt
73GraphQLPartnerSchoolInvitedList901037CB MekongĐạt
74GraphQLPartnerBooks10210210CB MekongĐạt
75GraphQLPartnerViewerRollupConversationStudents81998CB MekongĐạt
76GraphQLPreviewCheckPointDetail979284nhỏĐạt
77GraphQL gốcieltsPartnerPracticeCheckPoints96–0CB MekongĐạt
78GraphQLIeltsReadingCheckPoints93–292nhỏĐạt
79GraphQLSchoolTestLevelRanks92–9nhỏĐạt
80GraphQLGetInfoCheckpointDetail91–182nhỏĐạt
81GraphQLAuthProviderViewerSessionQuery90–3nhỏĐạt
82GraphQLPhoneInputCountryCodesQuery887725CB MekongĐạt
83GraphQL gốccheckPointsViewerPartner88–0CB MekongĐạt
84GraphQLGetListClassesStudentList728822CB MekongĐạt
85RESTteacher.flyer.us/api/v4/teacher/library/list87–0nhỏĐạt
86Trangieltsguru.ai/_next/data/…/en/ielts/listening.json87–105nhỏĐạt
87GraphQLGetTestLevelRanking87–11nhỏĐạt
88Tranggames.flyer.us/vi87–67nhỏĐạt
89Trangieltsguru.ai/_next/data/…/en/home.json86–88nhỏĐạt
90Trangieltsguru.ai/_next/data/…/en/diamonds-preview.json86–88nhỏĐạt
91GraphQL gốcviewerBingoStudyPaths86–0CB MekongĐạt
92REST/v3/learner/journey/continue86–0.3nhỏĐạt
93GraphQLcheckPointsPartner77860CB MekongĐạt
94GraphQLIeltsWritingCheckpoint85–2nhỏĐạt
95GraphQL gốcpartnerListAssignTest85–0CB MekongĐạt
96Trangieltsguru.ai/_next/data/…/en/mistakes.json84–107nhỏĐạt
97Trangieltsguru.ai/_next/data/…/en/ielts/speaking.json84–105nhỏĐạt
98GraphQL gốcpartnerAssignTests84–0CB MekongĐạt
99GraphQL gốcpartnerViewerWeeklyStudentAssignTestWeak84–0CB MekongĐạt
100Trangteacher.flyer.us/_next/data/…/vi/report/activities.json83–297nhỏĐạt
101Trangieltsguru.ai/_next/data/…/en/ielts/writing.json83–105nhỏĐạt
102GraphQLLibraryQuizCheckPoints83–2nhỏĐạt
103GraphQL gốcpartnerViewerWeeklyClassStudyTimeWeak83–0CB MekongĐạt
104GraphQLPartnerViewerCalendarEventTimes79832nhỏĐạt
105GraphQLIeltsCheckPointSkillStats82–0nhỏĐạt
106Trangieltsguru.ai/_next/data/…/en/libraries.json82–105nhỏĐạt
107Trangieltsguru.ai/_next/data/…/en/real-time-conversation/topic.json82–93nhỏĐạt
108Trangieltsguru.ai/_next/data/…/en/learning-profile.json82–96nhỏĐạt
109GraphQLViewerAssignedTestUserAttemptsIelts82–0nhỏĐạt
110GraphQLViewerScoreMistakeWordQuota82–0nhỏĐạt
111GraphQLIeltsViewerSkillDistribution82–0nhỏĐạt
112GraphQL gốcping82–0CB MekongĐạt
113GraphQL gốcpartnerViewerStudents82–0CB MekongĐạt
114GraphQLGetNotifyRequestPublishCheckPointQuery73820CB MekongĐạt
115GraphQLlistAdminTeacher708211CB MekongĐạt
116GraphQLPartnerViewerRollupLowTeachers81–0nhỏĐạt
117Trangieltsguru.ai/_next/data/…/en/mission.json81–98nhỏĐạt
118GraphQLViewerInProgressAssignedTestsIelts81–0nhỏĐạt
119GraphQLCheckPointsIeltsWithNotes81–0nhỏĐạt
120GraphQLViewerPartnerRoles806710CB MekongĐạt
121Trangteacher.flyer.us/_next/data/…/vi/challenge.json80–303nhỏĐạt
122Trangteacher.flyer.us/_next/data/…/vi/report/class-low-study-time.json80–297CB MekongĐạt
123Trangteacher.flyer.us/_next/data/…/vi/report/student-incomplete.json80–297nhỏĐạt
124RESTteacher.flyer.us/api/v4/teacher/bingo/proficiency/class80–22CB MekongĐạt
125RESTieltsguru.ai/api/v3/learner/feature-configs80–0nhỏĐạt
126Trangieltsguru.ai/_next/data/…/en/ielts/reading.json80–105nhỏĐạt
127GraphQLIeltsViewerAverageGradeByDay80–0nhỏĐạt
128GraphQLViewerLearnerProfileStatsForStatisticsCards80–0nhỏĐạt
129GraphQL gốcadminBingoStudyLevels80–31CB MekongĐạt
130GraphQL gốcpartnerViewerWeeklyClassAssignTestWeak80–0CB MekongĐạt
131GraphQLviewerPartnerTeachers788019CB MekongĐạt
132GraphQLPartnerViewerSchoolClasses71803CB MekongĐạt
133GraphQLPartnerViewerRollupTeachers79–0nhỏĐạt
134GraphQLTestLevelBySlugQuery79–0nhỏĐạt
135RESTieltsguru.ai/api/v3/learner/exams79–0nhỏĐạt
136GraphQLNodes79–0nhỏĐạt
137GraphQLSchools79–7nhỏĐạt
138REST/v3/teacher/school-finance/students79–1.0CB MekongĐạt
139REST/v4/teacher/wisdom-stones/reports79–0.3CB MekongĐạt
140Trangteacher.flyer.us/_next/data/…/vi/report/class-low-test-completion.json78–297nhỏĐạt
141Trangieltsguru.ai/_next/data/…/en/history.json78–107nhỏĐạt
142GraphQLPartnerViewerMenuNotifications77722nhỏĐạt
143GraphQL gốcadminTeacherProfiles77–0CB MekongĐạt
144GraphQL gốcadminBingoStudyParts77–0CB MekongĐạt
145GraphQL gốcbingoStudyLevels77–31CB MekongĐạt
146GraphQL gốcieltsSpeakingCheckPoints77–0CB MekongĐạt
147Trangteacher.flyer.us/_next/data/…/vi/report.json76–297nhỏĐạt
148GraphQL gốcadminViewerTeacherProfiles76–0CB MekongĐạt
149GraphQLBingoCoTeacherSchoolClasses70760nhỏĐạt
150GraphQLTestLevelCheckPoint67762CB MekongĐạt
151Trangteacher.flyer.us/_next/data/…/vi/explore.json75–303CB MekongĐạt
152RESTteacher.flyer.us/api/v3/teacher/school-finance/bank-accounts75–0nhỏĐạt
153GraphQLGetListClassesActivities756715CB MekongĐạt
154RESTteacher.flyer.us/api/v4/teacher/bingo/proficiency/students/181101275–1nhỏĐạt
155GraphQLViewerRemindTask75–1nhỏĐạt
156RESTieltsguru.ai/api/cookies75–1nhỏĐạt
157GraphQL gốcadminBookUnits75–0CB MekongĐạt
158GraphQL gốcpartnerViewerAiConversationStudentSession75–0CB MekongĐạt
159REST/v4/teacher/wisdom-stones/skills75–0.5CB MekongĐạt
160GraphQLPartnerViewerFilterTeachers71750nhỏĐạt
161RESTteacher.flyer.us/api/v3/teacher/feature-configs74–0CB MekongĐạt
162Trangteacher.flyer.us/_next/data/…/vi/school-calendar.json74–297nhỏĐạt
163Trangteacher.flyer.us/_next/data/…/vi/quick-start.json74–297nhỏĐạt
164RESTteacher.flyer.us/api/v3/teacher/school-finance/company74–0nhỏĐạt
165GraphQL gốcadminTtsVoices74–0CB MekongĐạt
166GraphQL gốcpartnerViewerAnyStudents74–0CB MekongĐạt
167REST/v3/crm/onboarding/centers74–0.3CB MekongĐạt
168REST/v4/teacher/wisdom-stones/histories74–0.2CB MekongĐạt
169Tranggames.flyer.us/vi/host/IwgPXKXHaLTPtsn5CgycC73–43nhỏĐạt
170GraphQL gốcschools73–0CB MekongĐạt
171GraphQL gốcadminBookLessons73–0CB MekongĐạt
172REST/v4/teacher/attendance/overview73–0.7nhỏĐạt
173REST/v4/teacher/attendance/report73–0.7nhỏĐạt
174GraphQLPartnerViewerUnreadNotificationsCount71730CB MekongĐạt
175GraphQLGetListClassesFilterAssignTest67730nhỏĐạt
176GraphQLPartnerViewerSchoolClassesChartFilter66730nhỏĐạt
177GraphQLViewerGetVersionNotificationUpdate68720CB MekongĐạt
178Trangteacher.flyer.us/_next/data/…/vi/program.json72–305CB MekongĐạt
179Trangteacher.flyer.us/_next/data/…/vi/flyer-ai.json72–357CB MekongĐạt
180Trangteacher.flyer.us/_next/data/…/vi/school-settings.json72–297nhỏĐạt
181REST/v3/ielts/feature-configs72–0.0CB MekongĐạt
182REST/v3/teacher/feature-configs72–0.4nhỏĐạt
183REST/v4/teacher/wisdom-stones/store/overview72–0.1CB MekongĐạt
184Trangteacher.flyer.us/_next/data/…/vi/report/student-low-score.json71–297CB MekongĐạt
185Tranggames.flyer.us/vi/host/ML9cH8h8wWvOM-7F0B7C571–43nhỏĐạt
186RESTgames.flyer.us/api/teacher/quota71–0nhỏĐạt
187Tranggames.flyer.us/vi/host/SbjyfcY56XvHCZigm7I0271–43nhỏĐạt
188Tranggames.flyer.us/vi/host/rp0cyw1c8s7epB5gdiAVL71–43nhỏĐạt
189Tranggames.flyer.us/vi/host/hfFvw6X1PVFUuX3TMy6ZE71–43nhỏĐạt
190REST/v3/teacher/school-config71–0.1CB MekongĐạt
191REST/v3/teacher/students/quick-search71–1.5CB MekongĐạt
192GraphQLPartnerPracticeCheckPointsInfo70710nhỏĐạt
193Trangteacher.flyer.us/_next/data/…/vi/placement.json70–299nhỏĐạt
194Trangteacher.flyer.us/_next/data/…/vi/exams.json70–297nhỏĐạt
195Trangteacher.flyer.us/_next/data/…/vi/report/teacher-low-assignment.json70–297nhỏĐạt
196Tranggames.flyer.us/vi/host/fN-lPfSJATbqLkqr5HP3J70–43nhỏĐạt
197GraphQL gốcbingoStudyPaths70–0CB MekongĐạt
198GraphQL gốcpartnerViewerSchoolStudents70–0CB MekongĐạt
199REST/v3/teacher/school-finance/tuitions/stats70–0.1nhỏĐạt
200REST/v4/teacher/study-time/prefs70–0.2CB MekongĐạt
201REST/v4/teacher/wisdom-stones/store/redemptions70–0.2CB MekongĐạt
202Trangteacher.flyer.us/_next/data/…/vi/assigned-tests.json69–297nhỏĐạt
203GraphQLtestLevelChallengeList69661nhỏĐạt
204RESTteacher.flyer.us/api/v3/teacher/school-config69–0CB MekongĐạt
205RESTteacher.flyer.us/api/v3/teacher/school-finance/tuitions69–0CB MekongĐạt
206RESTteacher.flyer.us/api/v3/teacher/school-finance/classes69–0nhỏĐạt
207GraphQLTestLevelList69–1nhỏĐạt
208Tranggames.flyer.us/vi/host/1jSLxMr2GLVrMyj7OhTY-69–43nhỏĐạt
209Tranggames.flyer.us/vi/host/WeMqrpzUP_h68bSP6Nv8869–43nhỏĐạt
210Tranggames.flyer.us/vi/host/WlEvhUADuVMffWcHjEJ7n69–43nhỏĐạt
211GraphQL gốcviewer69–0CB MekongĐạt
212GraphQL gốcviewerRemindTask69–0CB MekongĐạt
213GraphQL gốcpartnerViewerAiConversationSessions69–0CB MekongĐạt
214GraphQL gốcpartnerViewerAvailableVoices69–0CB MekongĐạt
215REST/v3/parent/tuitions/overview69–0.1nhỏĐạt
216REST/v3/teacher/package/my-entitlements69–0.0CB MekongĐạt
217REST/v4/teacher/attendance/report/at-risk69–0.4nhỏĐạt
218REST/v4/teacher/bingo/proficiency/class69–0.7nhỏĐạt
219RESTteacher.flyer.us/api/v4/teacher/bingo/settings68–0nhỏĐạt
220Tranggames.flyer.us/vi/host/KkrADJcbIhGkXFLFISyhj68–43nhỏĐạt
221GraphQL gốcadminViewerLearningOutcomeSubjects68–0CB MekongĐạt
222GraphQL gốcadminBingoStudyUnits68–5CB MekongĐạt
223GraphQL gốcieltsViewerAverageGradeByDay68–0CB MekongĐạt
224GraphQL gốcpartnerViewerSchoolDocuments68–0CB MekongĐạt
225REST/v3/teacher/school-finance/tuitions/{id}68–0.0CB MekongĐạt
226REST/v3/teacher/school-finance/classes68–0.2nhỏĐạt
227REST/v4/teacher/wisdom-stones/store/items68–0.2CB MekongĐạt
228Tranggames.flyer.us/vi/host/Boq1iVz64mlxHsm3XLX1B67–43nhỏĐạt
229GraphQL gốcthemes67–0CB MekongĐạt
230GraphQL gốcadminAvatarFrames67–0CB MekongĐạt
231GraphQL gốcviewerCurrentSchool67–0CB MekongĐạt
232GraphQL gốcadminIeltsReadingParts67–0CB MekongĐạt
233GraphQL gốcviewerMistakeWords67–0CB MekongĐạt
234GraphQL gốcviewerAIConversations67–0CB MekongĐạt
235GraphQL gốcpartnerStudentChart67–0CB MekongĐạt
236GraphQL gốcpartnerViewerAIWritingRecords67–0CB MekongĐạt
237GraphQL gốcpartnerViewerOwnerSchools67–1CB MekongĐạt
238GraphQL gốcpartnerViewerCalendarEventTimes67–0CB MekongĐạt
239REST/v3/health67–0.0nhỏĐạt
240REST/v3/teacher/exams67–0.1CB MekongĐạt
241REST/v3/teacher/school-finance/group-invoices67–0.1nhỏĐạt
242REST/v4/teacher/attendance/sessions67–0.5nhỏĐạt
243REST/v4/teacher/library/list67–0.7CB MekongĐạt
244Trangteacher.flyer.us/_next/data/…/vi/classes.json66–298CB MekongĐạt
245Trangteacher.flyer.us/_next/data/…/vi/report/average-score.json66–297nhỏĐạt
246Trangteacher.flyer.us/media/audio/onboarding/tuition-management/vi/welcome.mp366–146nhỏĐạt
247RESTteacher.flyer.us/api/v4/teacher/wisdom-stones/store/redemptions66–0nhỏĐạt
248GraphQL gốcadminVersionNotifications66–0CB MekongĐạt
249GraphQL gốcadminCustomDomains66–0CB MekongĐạt
250GraphQL gốcadminViewerBingoSubjects66–0CB MekongĐạt
251GraphQL gốcadminWritingParts66–0CB MekongĐạt
252GraphQL gốcadminIeltsListeningQuestions66–0CB MekongĐạt
253GraphQL gốcieltsPracticeCheckPoints66–0CB MekongĐạt
254GraphQL gốcviewerAdvices66–0CB MekongĐạt
255GraphQL gốcviewerExamUnreadNotificationsCount66–0CB MekongĐạt
256GraphQL gốcviewerScoreMistakeWordQuota66–0CB MekongĐạt
257GraphQL gốcpartnerViewerCalendarEvents66–0CB MekongĐạt
258GraphQL gốcpartnerViewerWeeklyTeacherAssignTestWeak66–0CB MekongĐạt
259REST/v3/teacher/classes66–0.8CB MekongĐạt
260REST/v3/teacher/package/packages66–0.4nhỏĐạt
261REST/v3/teacher/school-finance/bank-accounts66–0.0CB MekongĐạt
262REST/v3/teacher/school-finance/tuitions66–0.1nhỏĐạt
263REST/v4/teacher/wisdom-stones/groups66–0.2nhỏĐạt
264RESTteacher.flyer.us/api/v3/teacher/school-finance/tuitions/stats65–0nhỏĐạt
265RESTteacher.flyer.us/api/v3/teacher/school-finance/course/courses65–1nhỏĐạt
266RESTteacher.flyer.us/api/v4/teacher/wisdom-stones/store/overview65–0CB MekongĐạt
267GraphQLviewerPartnerClassNavBar65–0nhỏĐạt
268Trangexam.flyer.us/_next/data/…/en/real-time-conversation.json65–116nhỏĐạt
269GraphQL gốcactivationPlans65–0CB MekongĐạt
270GraphQL gốcadminFirmwareReleases65–0CB MekongĐạt
271GraphQL gốcadminBingoDevices65–0CB MekongĐạt
272GraphQL gốcadminViewerFeatureSets65–0CB MekongĐạt
273GraphQL gốcviewerCurrentSchoolRole65–0CB MekongĐạt
274GraphQL gốcadminIeltsListeningParts65–0CB MekongĐạt
275GraphQL gốcieltsViewerNotes65–0CB MekongĐạt
276GraphQL gốcpartnerViewerUnreadNotificationsCount65–0CB MekongĐạt
277GraphQL gốcpartnerViewerSchoolClasses65–0CB MekongĐạt
278GraphQL gốcpartnerViewerSchoolStudentsV265–0CB MekongĐạt
279GraphQL gốcpartnerViewerBillingHistories65–0CB MekongĐạt
280GraphQL gốcpartnerPackages65–0CB MekongĐạt
281GraphQL gốcpartnerViewerBingoImages65–0CB MekongĐạt
282GraphQL gốcpartnerViewerBingoSubjects65–0CB MekongĐạt
283GraphQL gốcpartnerPracticeCheckPoints65–0CB MekongĐạt
284GraphQL gốcpartnerPracticeArchivedCheckPoints65–0CB MekongĐạt
285REST/v3/learner/feature-configs65–0.2CB MekongĐạt
286REST/v3/teacher/package/packages/{package_id}/entitlements65–0.0CB MekongĐạt
287REST/v4/teacher/mcp/connections65–0.2nhỏĐạt
288REST/v4/teacher/wisdom-stones/students65–0.2CB MekongĐạt
289Trangteacher.flyer.us/_next/data/…/vi/assistant.json64–297CB MekongĐạt
290Trangteacher.flyer.us/_next/data/…/vi/student-list.json64–297nhỏĐạt
291GraphQL gốcprovinces64–1CB MekongĐạt
292GraphQL gốcresultStatementComments64–0CB MekongĐạt
293GraphQL gốcadminNotificationEventAppTypes64–0CB MekongĐạt
294GraphQL gốcviewerInProgressAssignedTests64–0CB MekongĐạt
295GraphQL gốcieltsCurrentPlacementTestCheckPoint64–0CB MekongĐạt
296GraphQL gốcieltsViewerStatsOverview64–0CB MekongĐạt
297GraphQL gốcviewerUserAttempts64–0CB MekongĐạt
298GraphQL gốcviewerBingoSubjects64–0CB MekongĐạt
299GraphQL gốcparentViewerUnreadNotificationsCount64–0CB MekongĐạt
300GraphQL gốcviewerPartnerAdminTeachers64–0CB MekongĐạt
301GraphQL gốcpartnerViewerOverviewBilling64–0CB MekongĐạt
302GraphQL gốcpartnerFeaturePlaylists64–0CB MekongĐạt
303GraphQL gốcpartnerViewerAISpeakingRecords64–0CB MekongĐạt
304GraphQL gốcpartnerViewerSchoolDocumentRecently64–0CB MekongĐạt
305REST/v3/parent/tuitions64–0.1nhỏĐạt
306REST/v3/teacher/school-finance/company64–0.0nhỏĐạt
307REST/v3/teacher/school-finance/group-invoices/{id}64–0.0nhỏĐạt
308REST/v3/teacher/school-finance/course/courses64–0.6nhỏĐạt
309RESTteacher.flyer.us/api/v3/teacher/exams63–0nhỏĐạt
310RESTteacher.flyer.us/api/v4/teacher/school/settings63–0nhỏĐạt
311GraphQLAuthProviderViewerInProgressAssignedTestsV263–0nhỏĐạt
312GraphQLProvinces63–3nhỏĐạt
313GraphQL gốcadminUserTeacherReferralUsage63–0CB MekongĐạt
314GraphQL gốcadminSchools63–0CB MekongĐạt
315GraphQL gốcadminTestLevels63–0CB MekongĐạt
316GraphQL gốcadminViewerFeaturePlaylists63–0CB MekongĐạt
317GraphQL gốcadminViewerMenuNotifications63–0CB MekongĐạt
318GraphQL gốcadminNotificationEvents63–0CB MekongĐạt
319GraphQL gốcadminSpeakingParts63–0CB MekongĐạt
320GraphQL gốcviewerSchoolBooks63–0CB MekongĐạt
321GraphQL gốcflyerBooks63–0CB MekongĐạt
322GraphQL gốctextToSpeak63–0CB MekongĐạt
323GraphQL gốcadminIeltsReadingQuestions63–0CB MekongĐạt
324GraphQL gốcieltsViewerSkillDistribution63–0CB MekongĐạt
325GraphQL gốcviewerPartnerSchoolInvitedTeachers63–0CB MekongĐạt
326GraphQL gốcpartnerViewerTeachers63–0CB MekongĐạt
327GraphQL gốcpartnerViewerAIThreads63–0CB MekongĐạt
328GraphQL gốcpartnerViewerMenuNotifications63–0CB MekongĐạt
329GraphQL gốcpartnerPackageFlyers63–0CB MekongĐạt
330GraphQL gốcpartnerSchoolDocuments63–0CB MekongĐạt
331REST/v3/learner/exams63–0.0CB MekongĐạt
332REST/v3/teacher/package/my-subscriptions63–0.0nhỏĐạt
333REST/v4/student/wisdom-stones/store/items63–0.2nhỏĐạt
334Trangexam.flyer.us/_next/data/…/en/edit-profile.json62–120nhỏĐạt
335GraphQL gốcavatarFrames62–0CB MekongĐạt
336GraphQL gốcadminUserAttempts62–0CB MekongĐạt
337GraphQL gốcadminViewerThemes62–0CB MekongĐạt
338GraphQL gốccountryCodes62–7CB MekongĐạt
339GraphQL gốcplacementTestGroups62–0CB MekongĐạt
340GraphQL gốcadminStudyCharacters62–0CB MekongĐạt
341GraphQL gốcadminIeltsSpeakingParts62–0CB MekongĐạt
342GraphQL gốcieltsCheckPointSkillStats62–0CB MekongĐạt
343GraphQL gốcviewerDevices62–0CB MekongĐạt
344GraphQL gốcviewerLearnerProfileStats62–0CB MekongĐạt
345GraphQL gốcviewerAchievements62–0CB MekongĐạt
346GraphQL gốcviewerAiConversationSessions62–0CB MekongĐạt
347GraphQL gốcviewerAiConversationSessionHistories62–0CB MekongĐạt
348GraphQL gốcclassLevels62–1CB MekongĐạt
349GraphQL gốcpartnerViewerScoreDiamondAttempts62–0CB MekongĐạt
350REST/v3/crm/me62–0.0CB MekongĐạt
351REST/v4/teacher/wisdom-stones/students/{learner_profile_id}/store-items62–0.2nhỏĐạt
352REST/v4/student/scores/yearly62–0.2CB MekongĐạt
353RESTteacher.flyer.us/api/v3/teacher/package/my-subscriptions61–0nhỏĐạt
354RESTexam.flyer.us/api/v3/learner/feature-configs61–0nhỏĐạt
355GraphQLViewerLearnerProfileStats61–0nhỏĐạt
356Trangexam.flyer.us/_next/data/…/en/diamonds-preview.json61–116nhỏĐạt
357Trangexam.flyer.us/_next/data/…/en/create-challenge.json61–116nhỏĐạt
358GraphQL gốcorderCodes61–0CB MekongĐạt
359GraphQL gốcadminLearnerProfiles61–0CB MekongĐạt
360GraphQL gốcadminTopics61–0CB MekongĐạt
361GraphQL gốcadminViewerAiConversationSummary61–0CB MekongĐạt
362GraphQL gốcadminViewerCheckPointReviewRequests61–0CB MekongĐạt
363GraphQL gốcadminNotificationEventTopics61–0CB MekongĐạt
364GraphQL gốcadminNotificationEventActions61–1CB MekongĐạt
365GraphQL gốcviewerSession61–0CB MekongĐạt
366GraphQL gốcadminBooks61–0CB MekongĐạt
367GraphQL gốcviewerInProgressAssignedTestsV261–0CB MekongĐạt
368GraphQL gốcviewerAssignedTestUserAttempts61–0CB MekongĐạt
369GraphQL gốcadminIeltsWritingParts61–0CB MekongĐạt
370GraphQL gốcadminIeltsWritingQuestions61–0CB MekongĐạt
371GraphQL gốcieltsViewerCurrentPlacementTestAttemptResult61–0CB MekongĐạt
372GraphQL gốcviewerExamNotifications61–0CB MekongĐạt
373GraphQL gốcviewerXpSummaries61–0CB MekongĐạt
374GraphQL gốcviewerTopics61–0CB MekongĐạt
375GraphQL gốcpartnerViewerSchoolTeachers61–0CB MekongĐạt
376GraphQL gốcpartnerPracticeCheckPointsInfo61–0CB MekongĐạt
377GraphQL gốcdailyRewards61–0CB MekongĐạt
378REST/v3/test/test61–0.3nhỏĐạt
379REST/v4/teacher/school/settings61–0.6CB MekongĐạt
380RESTexam.flyer.us/api/v4/student/wisdom-stones/store/items60–0nhỏĐạt
381GraphQLViewerUserAttemptsForReport60–0nhỏĐạt
382GraphQLTestLevelsWithFilter60–3nhỏĐạt
383GraphQL gốccheckIp60–0CB MekongĐạt
384GraphQL gốcadminPackageFlyers60–0CB MekongĐạt
385GraphQL gốcadminDiscounts60–0CB MekongĐạt
386GraphQL gốcadminVocabWords60–0CB MekongĐạt
387GraphQL gốcadminViewerAiConversation60–0CB MekongĐạt
388GraphQL gốcadminViewerAiConversationSessions60–0CB MekongĐạt
389GraphQL gốcadminViewerFeatureDefaults60–0CB MekongĐạt
390GraphQL gốcviewerBan60–0CB MekongĐạt
391GraphQL gốcadminBingoStudyPaths60–0CB MekongĐạt
392GraphQL gốctestLevels60–0CB MekongĐạt
393GraphQL gốcadminIeltsSpeakingPartsInfo60–0CB MekongĐạt
394GraphQL gốcadminIeltsSpeakingQuestions60–0CB MekongĐạt
395GraphQL gốcviewerIeltsNotifications60–0CB MekongĐạt
396GraphQL gốcviewerUnreadNotificationsCount60–0CB MekongĐạt
397GraphQL gốcviewerIeltsUnreadNotificationsCount60–0CB MekongĐạt
398GraphQL gốcpartnerViewerNotifications60–0CB MekongĐạt
399REST/v4/student/time60–0.2CB MekongĐạt
400REST/v4/student/wisdom-stones/store/redemptions60–0.2nhỏĐạt
401GraphQLViewerWarningsQuery59–0nhỏĐạt
402Trangexam.flyer.us/_next/data/…/en/profiles.json59–120nhỏĐạt
403GraphQLTestLevel59–1nhỏĐạt
404GraphQL gốcieltsTopics59–0CB MekongĐạt
405GraphQL gốcpartnerViewerPaymentStudentActivities59–0CB MekongĐạt
406GraphQL gốctracingGlyphSet59–0CB MekongĐạt
407REST/v4/student/public/wisdom-stones/awards/{learner_profile_id}59–0.2CB MekongĐạt
408RESTexam.flyer.us/api/cookies58–2nhỏĐạt
409GraphQL gốcresultStatements58–0CB MekongĐạt
410GraphQL gốcadminExamParts58–0CB MekongĐạt
411GraphQL gốcadminNotificationEventTypes58–0CB MekongĐạt
412GraphQL gốcadminNotificationEventConditions58–0CB MekongĐạt
413GraphQL gốcviewerAvailableVoices58–0CB MekongĐạt
414GraphQL gốcpartnerViewerAssignTestScoreDiamondAttempts58–0CB MekongĐạt
415REST/v4/student/scores/monthly58–0.1CB MekongĐạt
416REST/v4/student/wisdom-stones/balances58–0.1CB MekongĐạt
417REST/v4/student/wisdom-stones/histories58–0.2nhỏĐạt
418GraphQLCountNotification57–0nhỏĐạt
419GraphQLViewerAchievements57–2nhỏĐạt
420RESTexam.flyer.us/api/v4/student/wisdom-stones/store/redemptions57–0nhỏĐạt
421RESTexam.flyer.us/api/v4/student/wisdom-stones/balances57–0nhỏĐạt
422RESTexam.flyer.us/api/v3/learner/exams56–0nhỏĐạt
423Trangexam.flyer.us/media/sounds/claimed.mp356–93nhỏĐạt
424Trangexam.flyer.us/animations/flyer.riv12–1228nhỏĐạt