thắc mắc Backend của 1 app check trạng thái Covid gần 100 triệu active users, làm sao để nó không lag

Vậy nói nhanh gọn lẹ là do Viettel code yếu đúng ko mấy anh ?
Chắc lại đưa cho mấy em thực tập và exp 1-2 vào code :LOL:.
Ko thể nói như vậy được, ae ở đây đã ai biết cái backend của app nó đang chạy như nào đâu

Topic này chỉ bàn luận: nếu phải giải quyết case như vậy thì nên làm gì thôi
 
Vậy nói nhanh gọn lẹ là do Viettel code yếu đúng ko mấy anh ?
Chắc lại đưa cho mấy em thực tập và exp 1-2 vào code :LOL:.
Code yếu ko chắc nhưng mà dm applied hot patch vào giữa khuya thằng tester cũng ngáo test trên cả production. Data nhiều ng bị sai lắm toàn thấy modified lúc 3h sáng ko
 
Vậy nói nhanh gọn lẹ là do Viettel code yếu đúng ko mấy anh ?
Chắc lại đưa cho mấy em thực tập và exp 1-2 vào code :LOL:.
yếu thì ko dám nói, nhưng mà trình chắc chắn là còi
vì trình độ IT của Việt Nam ko kém, và mấy vấn đề này trên thế giới người ta đã giải quyết được hết rồi
đừng nói là vài trăm ngàn request/giây
đến cả vài tỷ request/giây cũng ko phải là vấn đề
do đó ko thể đổi lỗi app chạy chậm lag là do nhiều người dùng được
 
yếu thì ko dám nói, nhưng mà trình chắc chắn là còi
vì trình độ IT của Việt Nam ko kém, và mấy vấn đề này trên thế giới người ta đã giải quyết được hết rồi
đừng nói là vài trăm ngàn request/giây
đến cả vài tỷ request/giây cũng ko phải là vấn đề
do đó ko thể đổi lỗi app chạy chậm lag là do nhiều người dùng được
Ghê, tỷ request/giây, cho xin cái ví dụ tỷ request/giây tại vn đi bạn?

Đừng có bảo là google search nhé.
 
Nhân vụ việc cái app Sổ Sức Khỏe Điện Tử của Bộ y tế do Viettel Software dev bị toàn dân ném gạch, ném đá vì quá lag dù mới chỉ tầm hơn 2 triệu users đã cài đặt :shame:
Mời nhìn rating hiện tại của app trên 2 nền tảng
20211e2ea593-56fe-4a5b-87ef-260bea9f9087.jpg
Yêu cầu thực tế trong 6 tháng-1 năm tới chắc chắn là 60% dân số tức 60 triệu active users rồi (trừ người quá già không thể đi lại và trẻ em dưới 12 tuổi), éo ai muốn ở nhà cả
CCU thực tế chắc cỡ là 6 triệu, vì nếu về cái gọi là "cuộc sống bình thường mới" là dân đi vào cao ốc văn phòng, trường học, nhà hàng, quán cafe, rạp chiếu phim, gym, siêu thị, chợ, cửa ngõ các tỉnh thành... cũng phải quét mã

DB 100 triệu bản ghi,
có web frontend cho các nhân viên y tế tuyến cơ sở tìm kiếm và nhập liệu tình trạng tiêm mũi 1 ngày bao nhiêu vaccine gì, mũi 2, mũi 3, mũi 4, âm tính, dương tính, đã khỏi bệnh,...lên DB
Và sinh ra QR code tương ứng
Client app tính năng 1: show QR code và tình trạng của cá nhân tài khoản
Client app tính năng 2: quét mã QR code của người khác check tình trạng.
Dành cho chủ quán xá quét khách
Và những người không có smartphone có thể in QR code ra giấy

Chưa tính bài toàn khó hơn là lưu log lại tất cả những chỗ quét rồi gửi notification đến app của chính quyền để dễ bề truy vết F0 nhé

Tôi mạn phép hỏi các anh cao nhân Backend Dev trong đây bàn giải pháp như tech stack, băng thông và server cần cấu hình như thế nào, nếu dùng cloud như AWS thì cần gói bao nhiêu tiền 1 tháng ?
Tớ nghĩ mấy cái app này 99.99% client ở trong nước, vậy chả dùng AWS làm gì để vừa lo đứt cáp, vừa lo phí lớn, trong khi datacenter của Viettel của nhà trồng được cmnl, thích xài bao nhiêu thì xài.
App này để tối ưu hiệu năng thì microservice và datawarehouse là chuẩn bài. Service tách riêng khai báo y tế, cập nhật tiêm chủng,... Warehouse tạo riêng các db chuyên để tra cứu cho dân, còn các bác có cronjob chạy xuất báo cáo 1 vài lần/ngày. DB chính chỉ chọc vào 1 lần duy nhất lúc insert/update warehouse cho mỗi lần cập nhật thông tin cho 1 người. Warehouse chỉ đọc.
Noti cũng thế, tạo background job cho chạy 1 phút/lần thì đáng bao nhiêu đâu, vì 1 phút cả nước tiêm được bao nhiêu người? Còn truy vấn F0 thì xuất báo cáo đầy đủ chứ noti được vài chữ thì đọc quái gì?

Vấn đề vướng ở đây tớ nghĩ là ngân sách rót rất nhỏ giọt, nên không thể dựng 1 megaapp ngay từ đầu mà sinh ra cả chục thằng chồng chéo lên nhau. Chưa kể tiền đầu tư mua VPS cũng nhỏ giọt ấy chớ, datacenter Viettel của nhà trồng nhưng có free đâu :big_smile: Cứ nhìn các dựán xây dựng mà ra, tiền nhanh thì xây chóng mặt, dự án treo đa phần vì tiến có đèo :smile:
 
Mấy cái này có gì mà ko giải quyết được nhỉ?
Dùng microservices, queue xài rabbit MQ, caching xài redis, NoSql xài MongoDB, job sync thì dùng azure webjob, azure function. Đừng cho nó query trực tiếp vào DB là ngon thôi có gì đâu? dữ liệu nó đâu cần search gì đâu, toàn query dựa vào userId thôi mà? còn search nữa thì xài elastic search sync dữ liệu cần thiết lên để search.
À tất nhiên ko thể thiếu là docker.
Đưa tôi viết backend với xài azure cho. Chắc ngồi code tầm tháng là xong cái backend, thoát khỏi cái lối mòn là nghẽn ở DB các thứ đi.
Chủ yếu là tiền ăn chia hết mẹ nó rồi còn đâu mà làm 🤣
Còn scale thì quá đơn giản khi tách ra microservices rồi, nghẽn ở đâu thì chạy vào con đấy mà scale
 
yếu thì ko dám nói, nhưng mà trình chắc chắn là còi
vì trình độ IT của Việt Nam ko kém, và mấy vấn đề này trên thế giới người ta đã giải quyết được hết rồi
đừng nói là vài trăm ngàn request/giây
đến cả vài tỷ request/giây cũng ko phải là vấn đề
do đó ko thể đổi lỗi app chạy chậm lag là do nhiều người dùng được
vài tỷ request/giây ? Có nói quá ko thế fen ?
 
Đừng có bảo là google search nhé.
Theo thống kê thì google search cũng không đến mức đó
Google doesn’t share its search volume data. However, it’s estimated Google processes approximately 63,000 search queries every second, translating to 5.6 billion searches per day and approximately 2 trillion global searches per year. The average person conducts between three and four searches each day.
https://blog.hubspot.com/marketing/google-search-statistics
 
Dàn dưới này kết hợp Dram làm cache + thanh NVDIMM Pmem làm ổ lưu trữ dữ liệu tốc độ gần bằng Dram, một hệ thống build như này cũng trên 50k->100k$ chắc đủ với nhu cầu???. Trên khía cạnh chính phủ với hạ tầng mạng IDC Viettel có sẵn, nên đầu tư mạnh vào hardware. Còn tư nhân phải tính toán nhiều.

Ice Lake Platform – Intel OEM Server
  • 2 x Intel Xeon Platinum 8380 @ 2.3GHz 40-cores
  • 16 x 32GB DDR4 3200MHz
  • 16 x 128GB Intel Persistent Memory 200 Series (PMem)
  • Boot SSD: Intel 1TB SATA

Test hiệu suất 4k IOPS trên máy khác với 12 module (12x128gb PMEM)

Dell-VxRail-Intel-Optane-PMem-Nov2020_FIG12.png


Hiệu suất Dram cache + Pmem trên bài bench khác.

memverge-kdbperformance.jpg
 
Last edited:
Thì thế mới bảo đại hiệp kia xin cái ví dụ vài tỷ rq 1 giây, chém gió cũng có mức độ chứ nói cái điều ko tưởng -))


mức đó thì chủ yếu là mấy cái event ngày lễ của alibaba ấy. Bọn đấy handle lượng traffic kinh khủng lắm :)
nếu tính rps của từng dịch vụ riêng thì còn tuỳ, chứ nếu tính tổng thì chắc chắn là đạt.
Ví dụ 1 lần tải web thì nó load mấy chục service khác nhau.
100 triệu người vào web lướt liên tục là hàng tỉ request/s rồi.
 
mức đó thì chủ yếu là mấy cái event ngày lễ của alibaba ấy. Bọn đấy handle lượng traffic kinh khủng lắm :)
nếu tính rps của từng dịch vụ riêng thì còn tuỳ, chứ nếu tính tổng thì chắc chắn là đạt.
Ví dụ 1 lần tải web thì nó load mấy chục service khác nhau.
100 triệu người vào web lướt liên tục là hàng tỉ request/s rồi.
lướt web chứ có phải chơi game đâu mà request per second = x10 x20 CCU đc.

Đa số web giờ nó render, fetch API 1 lần lúc mới vào thôi, còn navigate giữa các page nó re-fetch ít thôi, nên t ko nghĩ là 1 user = 10req per second.
 
lướt web chứ có phải chơi game đâu mà request per second = x10 x20 CCU đc.

Đa số web giờ nó render, fetch API 1 lần lúc mới vào thôi, còn navigate giữa các page nó re-fetch ít thôi, nên t ko nghĩ là 1 user = 10req per second.

Thím bật tiki 1 lần rồi lướt giữa các trang xem nó bắn bao nhiêu req :)
 
Tôi ko phải dân backend, dù làm trong IT, nhưng đầu tiên phải phân tích issue của cái app hay stack của nó là: Ko chịu nổi nhiệt khi CCU tới 1 mức nào đó, ấy là chưa tính tới sau này còn scale lên query tầm chục triệu CCU. Bản thân backend khi query với cái stack databases của app chắc chắn sẽ query nhiều lần, và hiện tại còn đang query sai nữa nói chi mà tính tới việc query nhanh và ko lag

Tôi ko vọc cái capture requests trên cái app này nên ko biết rõ nó làm bao nhiêu requests, nhưng tôi đoán chắc cũng phải 5-6 cái requests khi query tìm xem vacxin có hay chưa và có thì bao nhiêu mũi. Rõ ràng 2 câu hỏi này ko phải làm 1-2 cái requests là xong, nó phải thỏa mãn có chưa rồi mới tính 1 hay 2 mũi rồi mới tính vàng hay xanh, mà vì optimize kém. Tính ra nhân lên CCU hiện tại rõ failed + thêm tình hình đứt cáp thì càng failed hơn.

Rõ là app ko dc optimize cho việc query, và lại còn ko đc test cho functional nó work smoothly nữa, chưa tính tới performances lol

Nếu là tôi dân ngoại đạo thì phải test cho nó work đúng chức năng của nó đã, chậm thì optimize hay nâng cấp stack sau (nếu phải tính tới solution hardware) còn bây giờ chức năng nó failed lòi ra thì làm sao tin tưởng khi scale lên với CCU = khoảng 80% của số người được chích vacxin thì sao đảm bảo dc nó đúng chưa tính tới lag
 
Database dữ liệu dân cư quốc gia sài database của thằng nào vậy mấy fen biết không ?
Ở đây không ai làm trong ngành an ninh, tình báo cả mà biết được anh ơi
Tất cả chỉ là giả định là nếu được dev app này thì sẽ làm như thế nào
 
Thím bật tiki 1 lần rồi lướt giữa các trang xem nó bắn bao nhiêu req :)

Load cả đống thứ từ cdn, nhưng call back-end nhìn có vẻ dưới 10 / sec ?

thế fen đoán xem cái fb hay google 1 giây có bao nhiêu request

Rốt cuộc là có có ví dụ đc cái nào ở vn vài tỷ req per sec ko đại hiệp, giờ lại lấy gg fb ra ví dụ -)).
Lại còn bảo ko vấn đề, vấn đề to như con voi ngồi trong nhà chứ ở đó mà ko.
 
Back
Top