Performance!

Posted on March 17, 2006

0


Hôm nay cả đội dự án mình đang làm phải tập trung vào để tìm kiểm tra tính performance của hệ thống. Đây đang là phần rắc rối và khó khăn nhất mà chưa thể tìm được cách giải quyết, thực tế bây giờ nó chỉ có thể chịu đựng được đồng thời số người truy cập bằng một phần 3 hoặc ít hơn so với thiết kế ban đầu. Tất cả mọi người trong nhóm đã cố gắng phần vùng nó nhưng mới chỉ xác định được tương đối là do lượng query của nó đến Oracle server quá lớn.

Nếu lỗi này là do lập trình thì khi xác định được chính xác vị trí gây lỗi công việc giải quyết sẽ dễ dàng hơn, nhưng nếu lỗi này là do thiết kế từ ban đầu sai thì đúng là rất tồi tệ, khối lượng công việc để khắc phục có thể sẽ rất lớn.

Dự án này thêm một lần nữa chỉ cho mình thấy một số điểm sau đây:

  • Tiền bạc và công sức bỏ ra để maintain một dự án chiếm một phần rất lớn của sản phẩm phần mềm.
  • Thiết kế là khâu vô cùng quan trọng quyết định cả sự thành bại của một sản phầm. Khi thiết kế phải tính đến mọi vấn đề như hiệu suất, khả năng mở rộng, tính dễ sử dụng, vòng đời sản phẩm …
  • Viết các chương trình test tự động trước khi viết code (Extreme Programming), sử dụng các công cụ đo lượng tự động hoạt động của hệ thống.
  • Tài liệu phải được viết đầy đủ, theo đúng chuẩn, được lưu trữ lâu dài và có hệ thống để các nhóm sau có thể dễ dàng đọc lại được.
  • Trang bị máy móc không phải “đủ để có thể chạy” mà là “đủ nhanh để có thể chạy” như thế hiệu suất làm việc sẽ tăng lên nhiều.
  • Làm việc nhóm là vô cùng quan trọng, một tập thể chứ không phải một tập hợp các cá nhân.