Trong thời đại “Big Data” thì các kho dữ liệu (Data Warehouse) truyền thống gặp…
Tối ưu hiệu suất trong Appsheet
Trong quá trình tạo ứng dụng tùy chỉnh với Google Appsheet, bạn cũng cần quan tâm tới việc tối ưu hóa hiệu suất hoạt động ứng dụng để đảm bảo quy trình vận hành liền mạch, không gián đoạn và đạt hiệu quả cao, cùng tiểu hiểu chi tiết trong bài viết dưới đây
Một số khái niệm cần quan tâm khi tối ưu hiệu suất ứng dụng
Sau khi hoàn thành giai đoạn thiết kế tạo ứng dụng với appsheet, để nâng cao hiệu suất hoạt động ứng dụng, bạn sẽ cần thực hiện các bước tối ưu, một số điều bạn cần cân nhắc cải thiện bao gồm:
- Độ trễ so với throughput
Thuật ngữ “độ trễ” có nghĩa là thời gian chờ. Khả năng phản hồi của ứng dụng có liên quan trực tiếp đến độ trễ mà người dùng ứng dụng cảm nhận được. Mục tiêu team phát triển ứng dụng là giảm thiểu tối đa độ trễ mà người dùng cuối cảm nhận được.
Trong khi đó thuật ngữ throughput (thông lượng) đề cập đến lượng dữ liệu có thể được truyền mỗi giây.
Bạn có thể hiểu qua ví dụ cụ thể: trên ứng dụng Appsheet, để truyền nạp dữ liệu trên sheet lưu trên Google Drive, độ trễ tổng thể là tổng độ trễ ban đầu để phản hồi yêu cầu và sau đó là thời gian cần thiết để thực hiện truyền dữ liệu thực tế.
- Cải thiện tốc độ đồng bộ
Các ứng dụng Appsheet không kết nối trực tiếp với Cloud data provider. Thay vào đó sẽ giao tiếp với dịch vụ AppSheet backend (máy chủ AppSheet) – máy chủ đóng vai trò trung gian để liên lạc với Cloud data provider. Việc phân tầng này là cần thiết vì mục đích bảo mật và mang lại lợi ích về hiệu suất.
-
- Cải thiện hiệu suất ứng dụng: Để cải thiện hiệu suất ứng dụng, bạn cần làm quen với một số khái niệm kỹ thuật thường gặp dưới đây:
- Format rules: Là các quy tắc để tùy chỉnh biểu tượng, văn bản, v.v.
- Virtual columns: Tự động tính toán các cột bằng biểu thức ứng dụng. Vì các giá trị này được tính toán cho từng cột hàng và các biểu thức có thể phức tạp nên thường chiếm hiệu suất nếu ứng dụng có số lượng cột ảo lớn. Nói chung, tốt nhất nên giảm thiểu số lượng cột ảo nếu có thể.
- References: Data reference rất hữu ích cho hầu hết ứng dụng về khả năng sử dụng và hạn chế việc sao chép. Tuy nhiên, chúng có thể có tác động tiêu cực đến hiệu suất nếu bị sử dụng quá mức vì mỗi tham chiếu yêu cầu một cột ảo và các lần đọc bổ sung dữ liệu được tham chiếu. Cần đánh giá xem việc thêm reference vào ứng dụng có thực sự cần thiết trước khi tiến hành.
- Phân vùng dữ liệu: Phân vùng dữ liệu ứng dụng thành nhiều bảng có tác động tích cực đến hiệu suất ứng dụng, bất kể là loại nguồn dữ liệu backend nào.
- Bộ lọc bảo mật: Cung cấp cách hạn chế quyền truy cập người dùng từ nguồn dữ liệu backend. Điều này có tác động tích cực đến hiệu suất ứng dụng, nhưng phải xem xét kỹ tùy thuộc vào công nghệ backend được sử dụng:
- Google sheet – Ứng dụng nạp lấy dữ liệu từ trên Sheet và áp dụng bộ lọc trên máy chủ. Nếu xử lý lượng lớn dữ liệu sẽ tác động tiêu cực đến hiệu suất ứng dụng do bộ lọc bảo mật thực thi trên cơ sở từng hàng.
- Cloud SQL – Bộ lọc bảo mật sẽ được chuyển đổi thành câu lệnh SQL và gửi đến cơ sở dữ liệu. Điều này thường hỗ trợ cải thiện hiệu suất, nhưng nếu biểu thức quá phức tạp thì mức tăng hiệu suất có thể không đáng kể vì AppSheet sẽ chuyển đổi bất cứ dữ liệu database sau đó bộ lọc sẽ được áp dụng tại máy chủ.
- AppSheet Database – Các bộ lọc bảo mật trên cơ sở dữ liệu AppSheet sẽ hỗ trợ cải thiện hiệu suất.
- Cải thiện hiệu suất ứng dụng: Để cải thiện hiệu suất ứng dụng, bạn cần làm quen với một số khái niệm kỹ thuật thường gặp dưới đây:
- Hiệu suất cho các nguồn dữ liệu phổ biến:
Nền tảng AppSheet tự động thay đổi quy mô để đáp ứng nhu cầu sử dụng của nhiều đối tượng khác nhau. Mặc dù Appsheet được trang bị để đồng thời xử lý các yêu cầu ở mức cực cao có thể lên tới hàng triệu nhờ cơ sở hạ tầng mạnh mẽ của Google, nhưng số lượng người dùng đồng thời mà AppSheet có thể hỗ trợ bị chi phối chặt chẽ bởi khả năng mở rộng của nguồn dữ liệu được sử dụng trong ứng dụng.
Bạn có thể liên tưởng một nhà hàng có thể cho phép số lượng khách hàng không giới hạn vào khu vực chờ (nền tảng AppSheet), nhưng nhân viên nhà bếp cũng như các tài nguyên khác như bàn ăn và lượng thức ăn có sẵn để nấu (nguồn dữ liệu) lại bị hạn chế, vậy điều gì quyết định sức chứa tổng thể của nhà hàng (nghĩa là có thể phục vụ bao nhiêu khách hàng đồng thời cùng một lúc).
Một số cân nhắc về hiệu suất cho các nguồn dữ liệu AppSheet phổ biến nhất:
- Appsheet databases: AppSheet databases là nguồn dữ liệu dễ sử dụng với tính năng mở rộng cao hơn Google sheet, khả năng xử lý cao với 200 yêu cầu trong 10 giây. Hỗ trợ đồng bộ hóa nhanh được bật theo mặc định cho tất cả các ứng dụng sử dụng cơ sở dữ liệu AppSheet
- Google Sheets: Sử dụng Google Sheet làm cơ sở dữ liệu rất phổ biến và thiết thực, đặc biệt phù hợp với các ứng dụng có quy mô vừa và nhỏ. Tuy nhiên, những người tạo ứng dụng với quy mô lớn bằng nguồn dữ liệu Sheet nên lưu ý đến cách AppSheet sử dụng Sheet API để không gặp phải vấn đề cạn kiệt hạn mức đặc biệt vào những lúc cao điểm..
- Cloud SQL (MySQL, PostgreSQL, and SQL Server): Các ứng dụng AppSheet có nguồn dữ liệu là Google Cloud SQL sẽ không gặp phải sự cố đồng thời do vượt hạn mức. Thay vào đó, hiệu suất cơ sở dữ liệu tối đa bị chi phối 100% bởi cách cấu hình instances. Trong môi trường sản xuất có nhu cầu thay đổi theo thời gian, bạn nên liên tục điều chỉnh cấu hình instances SQL phù hợp nhất với mục tiêu về hiệu suất của doanh nghiệp.
Một số cách tối ưu hiệu suất và độ tin cậy ứng dụng Appsheet
Cải thiện tốc độ đồng bộ: để cải thiện tốc độ đồng bộ trên ứng dụng appsheet bạn có thể tham khảo một số cách dưới đây:
-
- Chọn nhà cung cấp dữ liệu hiệu quả
- Giảm lượng dữ liệu được truyền trong quá trình Đồng bộ hóa
- Giảm số lượng tính toán (đối với công thức bảng tính và cột ảo) được thực hiện trong quá trình Đồng bộ hóa
- Tìm nạp hoặc tính toán dữ liệu song song (phù hợp cho ứng dụng có nhiều table hoặc nhiều cột ảo giá trị)
- Sử dụng network nhanh hơn (phù hợp với kết nối giữa thiết bị và Máy chủ AppSheet)
- Chạy Đồng bộ hóa ở chế độ nền (background) để người dùng không phải chờ quá trình Đồng bộ hóa xảy ra.
Bên cạnh đó AppSheet còn cung cấp một số công cụ (chẳng hạn như Performance profile) để bạn hiểu, phân tích và cải thiện hiệu suất ứng dụng.
Cải thiện tốc độ đồng bộ và cập nhật database
Dữ liệu được ứng dụng thu thập hoặc cập nhật trên thiết bị cần được gửi qua máy chủ AppSheet tới Cloud Provider. Đây là hoạt động diễn ra chậm nhất trong quá trình Đồng bộ hóa vì các thay đổi phải được thực hiện tuần tự (để đảm bảo tính chính xác). Có bốn cách để cải thiện hiệu suất Đồng bộ hóa:
- Giảm số lượng cần cập nhật
- Giảm lượng dữ liệu được gửi với mỗi lần cập nhật (ví dụ: hình ảnh được chụp trên mỗi hàng)
- Giảm số lượng tính toán phải thực hiện với mỗi lần cập nhật
- Đồng bộ hóa các thay đổi ở chế độ nền (background) để người dùng không cần phải đợi quá trình này hoàn thành
Quản lý địa chỉ IP và firewall
Một lý do phổ biến khiến ứng dụng AppSheet không khả dụng khi sử dụng network công ty là do máy chủ bị chặn bởi tường lửa hoặc thuộc danh sách kiểm soát truy cập. Nếu bạn đang quản lý lưu lượng truy cập network trong tổ chức hoặc cần yêu cầu thêm lưu lượng truy cập AppSheet vào danh sách cho phép của mình, hãy sử dụng các địa chỉ IP AppSheet được cho phép, xem danh sách tại đây
Hạn chế mất kết nối
Nếu bạn muốn ứng dụng của mình offline trong bất kỳ khoảng thời gian nào, một lời khuyên đưa ra là bạn nên cấu hình ứng dụng hỗ trợ tình trạng hoạt động offline. AppSheet có các tính năng hỗ trợ xử lý cho tình huống này.
Tuy nhiên, ngay cả đối với những ứng dụng chưa kích hoạt tính năng này, ứng dụng AppSheet vẫn được thiết kế để hoạt động khi có lỗi mất kết nối tạm thời. Các ứng dụng dành cho thiết bị di động thỉnh thoảng hoạt động trong môi trường được kết nối và có thể xảy ra lỗi network.
- Tất cả các thay đổi được thực hiện local và được cập nhật khi có kết nối trở lại khi bạn chọn tính năng Đồng bộ hóa (sync).
- Trong quá trình Đồng bộ hóa, nếu có bất kỳ thay đổi nào không được phổ biến thì chúng sẽ được thử lại. Hệ thống của appsheet được thiết kế sao cho các thay đổi là chính xác nhất
- Bạn có thể tiếp tục sử dụng ứng dụng cho đến khi đến được vị trí có kết nối mạng đáng tin cậy và Đồng bộ hóa thành công các thay đổi đã thực hiện.
Xử lý lỗi
Việc gặp lỗi khi sử dụng ứng dụng luôn có thể xảy ra, một số nguyên nhân khiến ứng dụng di động gặp lỗi có thể kể đến bao gồm:
- Thiết bị di động có thể có vấn đề về kết nối.
- Do các máy chủ của AppSheet đôi khi có thể gặp sự cố về kết nối hoặc tạm ngừng hoạt động.
- Hệ thống lưu trữ dữ liệu trên Cloud (ví dụ: Google Drive) thỉnh thoảng có thể gặp sự cố về kết nối hoặc tạm ngừng hoạt động.
Việc xảy ra lỗi vẫn có thể xảy ra, tuy nhiên với Appsheet tất cả các thay đổi được ghi lại cục bộ trên thiết bị. Ngay cả khi thiết bị tắt và khởi động lại, những thay đổi vẫn có sẵn. Tất nhiên, nếu thiết bị bị mất hoặc bị phá hủy trước khi bạn đồng bộ hóa thì những thay đổi đó sẽ không còn nữa.
Khi dữ liệu được đồng bộ hóa từ ứng dụng, dữ liệu sẽ di chuyển đến phần backend của AppSheet, sau đó chuyển sang backend sheet. Tại thời điểm này, ứng dụng dành cho thiết bị di động sẽ hoạt động bình thường trở lại, nếu không người dùng sẽ thấy thông báo lỗi. Điều quan trọng là thay đổi sẽ lưu chờ cho lần thử lại tiếp theo. Nếu người dùng đồng bộ hóa lại thì thay đổi sẽ được gửi lại.
Trên đây là tổng hợp một số khái niệm quan trọng và cách thức tối ưu hiệu suất sử dụng cho các ứng dụng trên nền tảng Google Appsheet dành cho nhiều thiết bị khác nhau, để được hỗ trợ thông tin chi tiết hơn việc xây dựng tối ưu ứng dụng phù hợp nhu cầu doanh nghiệp, bạn có thể kết nối cùng các chuyên gia của Gimasys ngay hôm nay.