Skip to main content
Nguyễn Văn Lạc Thiên
💬
0 discussions

Saas OOM Service Solution Process

I. Benefits

  • Xử lí lỗi quá tải hệ thống
  • Kinh nghiệm điều tra vấn đề khi gặp phải
  • Tăng tính sẵn sàng khi có vấn đề server

II. Prerequisites

  • Có tài khoản truy cập các tài nguyên trên hệ thống với đầy đủ quyền chỉnh sửa, xóa
  • Có hiểu biết cơ bản về các nơi liên quan cần điều chỉnh khi tiến hành sửa lỗi

III. Infomation Level

  • infoLevel:3 (reader must be signed official employee's contract from at least junior grade)
  • writingLevel:1 (only text without image/video)

IV. Main content:

Knowledge xử lý sự cố Service quá tải trong hệ thống SaaS

1. Tổng quan

Trong một hệ thống SaaS, một service bị chậm, treo hoặc liên tục khởi động lại không nhất thiết có nghĩa là server đã hết CPU hoặc RAM.

Service có thể gặp sự cố vì nhiều nguyên nhân khác nhau:

  • Một truy vấn trả về quá nhiều dữ liệu.
  • Dữ liệu của một khách hàng tăng quá lớn.
  • Database phản hồi chậm.
  • Một service gọi dependency quá nhiều lần.
  • Request tăng đột biến vào giờ cao điểm.
  • Cấu hình network hoặc firewall chưa đúng.
  • Một endpoint bị bot hoặc nguồn bên ngoài gọi bất thường.
  • Code xử lý dữ liệu quá nhiều ngay trên application server.
  • Một dependency bên ngoài đang bị quá tải.
  • Service bị giới hạn CPU/RAM và liên tục bị restart.

Do đó, khi gặp sự cố, không nên ngay lập tức tăng CPU/RAM hoặc restart service.

Cách tiếp cận an toàn hơn là:

Xác định triệu chứng → Khoanh vùng → Thu thập bằng chứng → Tìm nguyên nhân → Đánh giá phương án → Xử lý → Kiểm tra → Theo dõi


2. Hiểu đúng vấn đề: "Service quá tải" là gì?

Một service được xem là gặp vấn đề về tải khi lượng công việc mà nó phải xử lý vượt quá khả năng xử lý trong khoảng thời gian nhất định.

Có thể hình dung:

                    Request


┌─────────────────┐
│ Service │
│ │
│ CPU │
│ RAM │
│ Connection │
│ Processing │
└────────┬────────┘


Database

Nếu mỗi request chỉ cần xử lý một lượng nhỏ dữ liệu, service có thể xử lý hàng nghìn request.

Nhưng nếu một request yêu cầu:

1 request

Lấy rất nhiều dữ liệu

Đưa toàn bộ dữ liệu lên RAM

Xử lý nhiều lần

Trả kết quả

thì chỉ một vài request đồng thời cũng có thể tạo ra tải rất lớn.

Vì vậy:

Số lượng request không phải là yếu tố duy nhất quyết định tải của service.

Cần quan tâm cả chi phí của từng request.


3. Các dấu hiệu thường gặp

Một service quá tải có thể biểu hiện qua nhiều triệu chứng.

3.1. Người dùng thấy hệ thống chậm

Ví dụ:

  • Đăng nhập lâu.
  • Trang loading liên tục.
  • API phản hồi chậm.
  • Một chức năng mất vài chục giây mới hoàn thành.
  • Request timeout.

3.2. Service restart liên tục

Ví dụ:

Service started

Process request

Memory tăng

Process bị lỗi

Service restart

Process request

Memory tăng

Service restart

Nếu service restart hàng chục hoặc hàng trăm lần trong một khoảng thời gian ngắn, đây là dấu hiệu cần điều tra ngay.

3.3. CPU hoặc RAM tăng bất thường

Ví dụ:

Bình thường: 30% CPU

Giờ cao điểm: 90%

Quá tải: 100%

Nhưng cần nhớ:

CPU/RAM cao là triệu chứng, chưa chắc là nguyên nhân.


4. Bước 1 — Ghi nhận chính xác triệu chứng

Trước khi sửa, cần mô tả sự cố bằng dữ liệu cụ thể.

Không nên ghi:

"Service bị lag."

Nên ghi:

"Từ 08:00–11:00, API đăng nhập có thời gian phản hồi tăng từ dưới 1 giây lên hơn 30 giây và service restart nhiều lần."

Cần ghi nhận:

Thông tinNội dung
Thời điểm bắt đầuKhi nào lỗi xuất hiện?
Thời điểm kết thúcKhi nào hết lỗi?
Tần suấtThỉnh thoảng hay liên tục?
Thời gian phản hồiBao nhiêu giây?
RequestBao nhiêu request/giây?
CPUBao nhiêu %?
RAMBao nhiêu?
ErrorLỗi gì?
ServiceService nào bị ảnh hưởng?
UserAi bị ảnh hưởng?
ScopeMột khách hàng hay toàn hệ thống?

Việc ghi nhận chính xác giúp tránh điều tra theo cảm tính.


5. Bước 2 — Xác định phạm vi ảnh hưởng

Đây là câu hỏi rất quan trọng:

Lỗi xảy ra với một service, một khách hàng hay toàn bộ hệ thống?

Ví dụ:

                  Hệ thống SaaS

┌──────────────┼──────────────┐
▼ ▼ ▼
Service A Service B Service C
✓ ✗ ✓

Nếu chỉ Service B bị lỗi, có thể tập trung vào Service B và các dependency của nó.

Nhưng nếu:

Service A ✗
Service B ✗
Service C ✗
Database ✗

thì khả năng cao đây là sự cố ở tầng dùng chung như:

  • Database.
  • Network.
  • Infrastructure.
  • Authentication.
  • Load Balancer.
  • Shared service.

6. Bước 3 — Kiểm tra log của service

Log thường là nguồn thông tin quan trọng nhất để tìm nguyên nhân.

Hãy tìm:

  • Error.
  • Warning.
  • Timeout.
  • Out of memory.
  • Connection refused.
  • Connection timeout.
  • Authentication failure.
  • Database error.
  • Restart.
  • Crash.
  • Request quá lâu.

Ví dụ:

Request received

Database query

Query takes too long

Timeout

Application error

Hoặc:

Request

Database returns large result

Application loads result into memory

Memory exhausted

Process crashes

Một nguyên tắc quan trọng

Không chỉ xem dòng log cuối cùng.

Hãy xem một khoảng thời gian trước lỗi để tìm:

Điều gì xảy ra ngay trước khi service thất bại?


7. Bước 4 — Kiểm tra service có thực sự bị quá tải không

Cần kiểm tra các chỉ số của service:

CPU

CPU tăng cao có thể do:

  • Request tăng.
  • Query phức tạp.
  • Xử lý dữ liệu lớn.
  • Loop hoặc code không tối ưu.
  • Background job.

RAM

RAM tăng có thể do:

  • Request trả về quá nhiều dữ liệu.
  • Memory leak.
  • Cache quá lớn.
  • Nhiều request chạy đồng thời.
  • Object giữ trong memory quá lâu.

Restart

Nếu service liên tục restart:

Cần xác định tại sao process chết, thay vì chỉ restart lại process.


8. Bước 5 — Kiểm tra Database

Một service phụ thuộc vào Database rất dễ gặp lỗi do Database.

Cần kiểm tra:

  • CPU Database.
  • RAM Database.
  • Disk.
  • IOPS.
  • Connections.
  • Query per second.
  • Slow queries.
  • Query timeout.
  • Lock.
  • Error rate.

Đặc biệt cần xem:

Database có đang nhận quá nhiều request từ service hay không?


9. Đừng kết luận Database "bình thường" chỉ vì CPU thấp

Đây là một lỗi tư duy phổ biến.

Ví dụ:

Database CPU = 20%

không có nghĩa:

"Database chắc chắn không có vấn đề."

Database có thể vẫn gặp:

  • Query chậm.
  • Connection pool bị giới hạn.
  • Lock.
  • Network latency.
  • Query trả quá nhiều dữ liệu.
  • Index không phù hợp.
  • Disk latency.
  • Một nguồn truy cập bất thường.

Do đó cần kiểm tra nhiều chỉ số cùng lúc.


10. Bước 6 — Kiểm tra kích thước dữ liệu

Một nguyên nhân thường gặp là dữ liệu của một khách hàng hoặc một nhóm dữ liệu đã tăng quá lớn.

Ví dụ:

Customer A
├── Users: 100
├── Contacts: 50,000
├── Activities: 2,000,000
└── Logs: 5,000,000

Nếu một request lấy toàn bộ hoặc phần lớn dữ liệu này lên application server, chi phí xử lý có thể rất lớn.

Cần kiểm tra

  • Tổng dung lượng dữ liệu.
  • Số lượng record.
  • Kích thước từng loại dữ liệu.
  • Dữ liệu theo thời gian.
  • Dữ liệu theo khách hàng.
  • Query nào đọc nhiều dữ liệu nhất.

11. Phân biệt "nhiều request" và "request nặng"

Đây là một trong những điểm quan trọng nhất khi troubleshooting.

Trường hợp A — Nhiều request

1 request = 10 KB

1,000 request

10 MB

Trường hợp B — Ít request nhưng mỗi request rất nặng

1 request = 500 MB dữ liệu

10 request

5 GB dữ liệu cần xử lý

Trường hợp B có thể làm service quá tải dù số request không cao.

Do đó nên xem:

Request rate × Chi phí trung bình mỗi request

thay vì chỉ nhìn Request/second.


12. Bước 7 — Kiểm tra cách Service xử lý dữ liệu

Nếu phát hiện một request lấy quá nhiều dữ liệu, cần kiểm tra code hoặc kiến trúc xử lý.

Một pattern dễ gây vấn đề là:

Database

Lấy toàn bộ dữ liệu

Application Server

Xử lý

Trả kết quả

Nếu dữ liệu rất lớn, application phải sử dụng nhiều RAM và CPU.

Có thể cải thiện bằng:

  • Pagination.
  • Filtering.
  • Projection.
  • Index.
  • Aggregation.
  • Streaming.
  • Giới hạn số record.
  • Cache.
  • Xử lý một phần dữ liệu tại Database.

Mục tiêu là:

Không đưa nhiều dữ liệu hơn mức cần thiết lên application server.


13. Bước 8 — Kiểm tra lưu lượng mạng

Nếu application hoặc Database nhận traffic bất thường, cần kiểm tra network.

Theo dõi:

  • Incoming traffic.
  • Outgoing traffic.
  • Packet rate.
  • Connection count.
  • Source IP.
  • Destination IP.

Ví dụ:

Internet

├── Người dùng hợp lệ
├── Service nội bộ
├── Monitoring
└── Bot / Scanner / nguồn bất thường


Database

Một service có thể bị ảnh hưởng không phải vì application code thay đổi mà vì nguồn truy cập vào dependency tăng bất thường.


14. Bước 9 — Kiểm tra bảo mật của Database và Dependency

Các Database hoặc service quan trọng không nên mở quyền truy cập rộng hơn mức cần thiết.

Ví dụ nguy hiểm:

Internet


Database

└── Cho phép mọi IP

Mô hình an toàn hơn:

                    Database


┌────────┴────────┐
│ │
Application A Application B
│ │
Allowed IPs Allowed IPs

Có thể sử dụng:

  • IP whitelist.
  • Private network.
  • Security group.
  • Firewall.
  • VPN.
  • Authentication.
  • TLS.

Nguyên tắc

Chỉ cho phép những nguồn thực sự cần truy cập Database.


15. Bước 10 — Kiểm tra các nguồn truy cập bất thường

Nếu Database được mở rộng ra Internet, cần kiểm tra:

  • IP nguồn.
  • Số lượng connection.
  • Request frequency.
  • Authentication failures.
  • Query pattern.
  • Network traffic.

Có thể phát hiện:

  • Bot.
  • Scanner.
  • Brute-force.
  • Misconfigured service.
  • Một application khác truy cập quá nhiều.

Không nên mặc định rằng:

"Traffic nhiều = khách hàng đang sử dụng nhiều."

Cần xác định traffic đến từ đâu.


16. Bước 11 — Tổng hợp nguyên nhân theo từng lớp

Sau khi thu thập dữ liệu, nên lập bảng:

Thành phầnHiện tượngĐánh giá
ClientRequest chậmCó ảnh hưởng
NetworkTraffic bất thườngCần kiểm tra
ApplicationRestartCó vấn đề
DatabaseQuery lớnCó vấn đề
StorageCòn đủ dung lượngKhông phải nguyên nhân
CPUKhông caoKhông phải nguyên nhân chính
RAMTăng theo requestCó liên quan

Cách này giúp tránh kết luận vội vàng.


17. Xác định Root Cause

Root Cause là nguyên nhân gốc khiến sự cố xảy ra.

Cần phân biệt:

Triệu chứng

Service restart.

Nguyên nhân trực tiếp

Process hết bộ nhớ.

Nguyên nhân sâu hơn

Request lấy lượng dữ liệu quá lớn.

Nguyên nhân gốc có thể là

Thiết kế truy vấn và chính sách truy cập dữ liệu chưa phù hợp với quy mô dữ liệu thực tế.

Hoặc trong một trường hợp khác:

Database bị mở truy cập quá rộng, khiến hệ thống phải xử lý nhiều traffic không cần thiết.


18. Có thể sử dụng kỹ thuật "5 Whys"

Ví dụ:

Tại sao người dùng đăng nhập chậm?

→ Service xử lý request quá lâu.

Tại sao service xử lý lâu?

→ Service phải lấy và xử lý lượng dữ liệu lớn.

Tại sao dữ liệu lấy ra quá lớn?

→ Query không giới hạn dữ liệu cần thiết.

Tại sao Database lại chịu thêm nhiều request?

→ Database đang cho phép nhiều nguồn truy cập không cần thiết.

Tại sao điều này chưa được phát hiện?

→ Chưa có monitoring và cảnh báo đủ chi tiết.

Từ đó có thể phát hiện rằng:

Vấn đề không chỉ nằm ở service, mà còn liên quan đến query, dữ liệu, network và cơ chế bảo vệ dependency.


19. Đánh giá các phương án xử lý

Không nên chọn phương án đầu tiên nghĩ ra.

Có thể lập bảng:

Phương ánHiệu quảThời gianRủi roKhả năng mở rộng
Xóa dữ liệu cũCaoTrung bìnhTrung bìnhCao
Tối ưu queryCaoTrung bìnhThấpCao
Giới hạn truy cậpCaoThấpTrung bìnhCao
Tăng tài nguyênTrung bìnhThấpThấpTrung bình
Tách service/serverCaoCaoTrung bìnhCao

Sau đó lựa chọn dựa trên:

  • Root Cause.
  • Mức độ ảnh hưởng.
  • Thời gian cho phép downtime.
  • Rủi ro.
  • Nguồn lực.
  • Khả năng duy trì lâu dài.

20. Ưu tiên xử lý nguyên nhân trước khi tăng tài nguyên

Ví dụ service dùng 2 GB RAM và thường xuyên hết RAM.

Có hai cách:

Cách 1

2 GB RAM

Tăng lên

8 GB RAM

Có thể giải quyết triệu chứng trong ngắn hạn.

Cách 2

Request

Query quá lớn

Tối ưu query

Giảm dữ liệu trả về

Giảm RAM

Cách 2 thường giải quyết vấn đề tốt hơn.

Tuy nhiên, tăng tài nguyên vẫn có thể là phương án hợp lý nếu:

  • Nhu cầu thực sự tăng.
  • Code/query đã tối ưu.
  • Hệ thống cần thêm tài nguyên theo thiết kế.

Nguyên tắc là:

Đừng dùng việc tăng tài nguyên để che giấu một vấn đề kiến trúc hoặc truy vấn.


21. Nếu phải xóa dữ liệu, cần làm theo quy trình an toàn

Xóa dữ liệu có thể giảm tải nhưng cũng là phương án có rủi ro cao.

Quy trình nên là:

Xác định dữ liệu

Backup

Kiểm tra backup

Thử trên môi trường test

Xác định chính xác phạm vi

Xóa dữ liệu

Kiểm tra

Theo dõi

Không nên:

DELETE

Hy vọng không có vấn đề

22. Nếu thay đổi Firewall/Whitelist, cần kiểm tra trước và sau

Việc giới hạn IP truy cập Database có thể tăng bảo mật và giảm traffic không cần thiết.

Nhưng nếu whitelist thiếu một IP cần thiết:

Application

X

Database

Application sẽ không hoạt động.

Do đó cần lập danh sách:

Source
├── Application Server
├── Worker
├── Monitoring
├── Admin
└── Backup system

Sau đó xác định:

Ai thực sự cần truy cập Database?

Chỉ whitelist những nguồn đó.


23. Thực hiện thay đổi theo từng bước nhỏ

Không nên thay đổi nhiều thành phần cùng lúc nếu chưa cần thiết.

Ví dụ thay vì:

Xóa data
+
Đổi firewall
+
Đổi server
+
Đổi application

nên:

1. Backup

2. Thay đổi firewall

3. Monitor

4. Xác nhận

5. Cleanup data

6. Monitor

Điều này giúp biết:

Thay đổi nào thực sự giải quyết vấn đề?


24. Chuẩn bị Rollback

Mỗi thay đổi có khả năng gây ảnh hưởng cần có phương án quay lại.

Với Database

  • Snapshot.
  • Backup.
  • Export dữ liệu.

Với Firewall

  • Ghi lại cấu hình cũ.
  • Có phương án mở lại quyền truy cập tạm thời.

Với Application

  • Git commit/version.
  • Container image cũ.
  • Release package.

Với Configuration

  • Backup file cấu hình trước khi thay đổi.

25. Kiểm tra sau khi sửa

Không nên kết luận:

"Đã sửa xong vì service không còn báo lỗi."

Cần so sánh trước và sau.

Ví dụ:

Chỉ sốTrướcSau
CPU100%+< 100%
RAM2.2 GB< 1 GB
Request5–6 req/s5–6 req/s
Response> 2 phút< 20 giây
RestartLiên tụcKhông còn
ErrorCaoKhông còn

Điều này rất quan trọng.

Nếu request vẫn giữ nguyên nhưng response giảm mạnh, có thể kết luận rằng:

Hiệu năng xử lý trên mỗi request đã được cải thiện.


26. Theo dõi sau khi sửa

Một lỗi không xuất hiện trong 30 phút chưa có nghĩa là đã được giải quyết hoàn toàn.

Nếu sự cố chỉ xảy ra:

08:00 → 11:00

thì cần theo dõi qua đúng khoảng thời gian trước đây thường xảy ra lỗi.

Có thể theo dõi:

  • 24 giờ.
  • 3 ngày.
  • 7 ngày.
  • Một chu kỳ cao điểm hoàn chỉnh.

27. Ghi nhận kết quả và Root Cause

Sau khi xử lý, cần tạo một báo cáo ngắn:

Symptom

Người dùng gặp vấn đề gì?

Impact

Có bao nhiêu người bị ảnh hưởng?

Root Cause

Nguyên nhân gốc là gì?

Solution

Đã thay đổi những gì?

Result

Sau thay đổi các chỉ số thay đổi thế nào?

Prevention

Làm gì để lỗi không quay lại?

Ví dụ:

Symptom
Service response chậm

Root Cause
Dependency bị truy cập quá rộng + request xử lý dữ liệu lớn

Solution
Giới hạn truy cập + cleanup + tối ưu xử lý

Result
Response time giảm
Service ổn định

Prevention
Monitoring + Alert + Data retention

28. Sơ đồ troubleshooting tổng quát

Có thể dùng sơ đồ sau để minh họa toàn bộ quá trình:

SaaS OOM Service Solution Process 1


29. Sơ đồ khoanh vùng lỗi theo từng lớp

Một hình khác rất hữu ích khi xử lý service:

SaaS OOM Service Solution Process 2


30. Checklist xử lý sự cố Service

Giai đoạn 1 — Xác định vấn đề

  • Ghi nhận thời điểm xảy ra lỗi.
  • Ghi nhận triệu chứng.
  • Xác định người dùng bị ảnh hưởng.
  • Xác định service bị ảnh hưởng.
  • Xác định lỗi xảy ra liên tục hay theo thời điểm.
  • Xác định phạm vi ảnh hưởng.

Giai đoạn 2 — Thu thập dữ liệu

  • Kiểm tra application log.
  • Kiểm tra system log.
  • Kiểm tra CPU.
  • Kiểm tra RAM.
  • Kiểm tra restart/crash.
  • Kiểm tra request rate.
  • Kiểm tra response time.
  • Kiểm tra network.
  • Kiểm tra Database.
  • Kiểm tra dependency.

Giai đoạn 3 — Phân tích

  • Xác định request gây tải.
  • Kiểm tra kích thước dữ liệu.
  • Kiểm tra query.
  • Kiểm tra connection.
  • Kiểm tra traffic bất thường.
  • Kiểm tra cấu hình firewall.
  • Kiểm tra dependency.
  • Xác định Root Cause.

Giai đoạn 4 — Xử lý

  • Đánh giá các phương án.
  • Chọn phương án phù hợp.
  • Backup nếu có nguy cơ mất dữ liệu.
  • Chuẩn bị rollback.
  • Thực hiện thay đổi.
  • Kiểm tra ngay sau thay đổi.

Giai đoạn 5 — Xác nhận

  • Service không còn restart bất thường.
  • Response time cải thiện.
  • Error rate giảm.
  • CPU/RAM ổn định.
  • Database ổn định.
  • Chức năng người dùng hoạt động bình thường.
  • Theo dõi qua khoảng thời gian thường xảy ra lỗi.

Giai đoạn 6 — Phòng ngừa

  • Ghi nhận Root Cause.
  • Ghi nhận phương án xử lý.
  • Thiết lập monitoring.
  • Thiết lập alert.
  • Rà soát query/data.
  • Rà soát network/security.
  • Cập nhật tài liệu troubleshooting.
  • Xác định biện pháp tránh tái diễn.

31. Những sai lầm cần tránh

Sai lầm 1: Thấy CPU cao → tăng CPU

CPU cao chỉ cho biết service đang phải xử lý nhiều công việc.

Cần tìm:

Công việc nào khiến CPU cao?


Sai lầm 2: Service restart → restart lại service

Restart có thể làm hệ thống hoạt động trở lại tạm thời nhưng cũng có thể làm mất thông tin quan trọng về nguyên nhân crash.

Nên thu thập log trước khi restart nếu tình hình cho phép.


Sai lầm 3: Database CPU thấp → kết luận Database không có vấn đề

Cần kiểm tra thêm:

  • Query.
  • Connection.
  • Latency.
  • Lock.
  • Network.
  • Data size.

Sai lầm 4: Thấy Database có nhiều traffic → kết luận người dùng tạo ra traffic

Cần xác định:

Traffic đến từ IP nào và đang thực hiện hành động gì?


Sai lầm 5: Xóa dữ liệu ngay để giảm tải

Xóa dữ liệu có thể giải quyết vấn đề nhưng có rủi ro mất dữ liệu.

Cần:

Backup → Test → Xác định phạm vi → Xóa → Verify.


Sai lầm 6: Sửa nhiều thứ cùng lúc

Nếu đồng thời:

  • Tăng server.
  • Xóa dữ liệu.
  • Đổi firewall.
  • Đổi code.

thì sau đó rất khó biết:

Thay đổi nào thực sự giải quyết vấn đề?


32. Nguyên tắc vàng khi xử lý sự cố

Có thể ghi nhớ quy trình bằng 7 từ:

Observe → Measure → Isolate → Diagnose → Change → Verify → Monitor

Hay diễn giải bằng tiếng Việt:

Quan sát → Đo lường → Khoanh vùng → Tìm nguyên nhân → Thay đổi → Kiểm chứng → Theo dõi

Trong đó:

  • Quan sát: Người dùng đang gặp gì?
  • Đo lường: Có số liệu chứng minh không?
  • Khoanh vùng: Thành phần nào thực sự có vấn đề?
  • Tìm nguyên nhân: Vì sao nó xảy ra?
  • Thay đổi: Làm gì để giải quyết?
  • Kiểm chứng: Có thực sự tốt hơn không?
  • Theo dõi: Vấn đề có quay lại không?

Đây là cách tiếp cận có thể áp dụng cho hầu hết các sự cố service trong hệ thống SaaS, bất kể hệ thống sử dụng Docker, Kubernetes, Node.js, Java, Python, MongoDB, PostgreSQL hay một công nghệ khác.


Kết luận

Khi một service SaaS bị chậm, restart hoặc quá tải, mục tiêu đầu tiên không phải là làm cho service chạy lại càng nhanh càng tốt.

Mục tiêu đầu tiên phải là:

Hiểu chính xác chuyện gì đang xảy ra.

Một quy trình troubleshooting tốt cần bắt đầu từ triệu chứng, thu thập dữ liệu từ nhiều tầng, xác định Root Cause, đánh giá các phương án và chỉ sau đó mới thực hiện thay đổi.

Đặc biệt, cần phân biệt rõ:

Triệu chứng

Service restart

Nguyên nhân trực tiếp

Memory exhausted

Nguyên nhân sâu hơn

Request xử lý dữ liệu quá lớn

Root Cause

Thiết kế truy vấn / dữ liệu / network
chưa phù hợp với quy mô thực tế

Khi đã xử lý, công việc vẫn chưa kết thúc. Cần so sánh trước và sau, theo dõi hệ thống trong đúng khoảng thời gian thường xảy ra sự cố và ghi lại Root Cause để những người khác có thể xử lý nhanh hơn nếu vấn đề quay trở lại.

Cuối cùng, một sự cố chỉ thực sự được xem là đã giải quyết khi không chỉ có:

"Service đã chạy lại."

mà phải có:

"Nguyên nhân đã được xác định, giải pháp đã được kiểm chứng, hệ thống ổn định và đã có biện pháp hạn chế sự cố tái diễn."


Nếu bạn đang tìm một giải pháp tổng đài SIP có khả năng tích hợp CRM, quản lý cuộc gọi và mở rộng theo mô hình SaaS, bạn có thể bắt đầu bằng việc trải nghiệm demo thực tế trước khi triển khai toàn hệ thống.
Đăng ký dùng thử hệ thống tổng đài miễn phí tại đây: Đăng ký ngay!


V. Read more: