Triển khai ứng dụng có thể (và thường xảy ra!) Xảy ra theo cách mà nhà phát triển có thể chưa cân nhắc. Theo kinh nghiệm của tôi, điều này tạo ra nhiều vấn đề hiệu suất hơn bất kỳ ai muốn.
Một nút cổ chai phổ biến là truy cập tệp - tệp cấu hình, tệp ini cần thiết để khởi chạy ứng dụng có thể hoạt động tốt trên máy phát triển nhưng thực hiện quá trình trong các tình huống triển khai khác nhau. Tương tự, việc ghi nhật ký ứng dụng có thể cản trở hiệu suất - cho dù vì lý do truy cập tệp hay tăng trưởng tệp nhật ký. Những gì tôi thấy thường xuyên là các ứng dụng đa ứng dụng được triển khai trong môi trường Citrix hoặc trên ổ đĩa mạng chia sẻ, nơi nhóm cơ sở hạ tầng quyết định rằng tệp tạm thời hoặc tệp cá nhân của người dùng được lưu trữ ở vị trí mà ứng dụng tìm thấy sự cố và điều này dẫn đến các vấn đề về hiệu suất hoặc độ ổn định.
Một vấn đề khác mà tôi thường thấy ảnh hưởng đến hiệu suất ứng dụng là phương pháp được sử dụng để nhập và xuất dữ liệu vào tệp. Thông thường trong các ứng dụng kinh doanh Delphi tôi thấy chức năng xuất khẩu làm việc ra DataSets - lặp và ghi vào tập tin. Xem xét phương thức được sử dụng để ghi vào tệp, xem xét bộ nhớ có sẵn, xem xét rằng 'thư mục' được ghi vào/đọc từ có thể là cục bộ cho máy, hoặc nó có thể nằm trên máy chủ từ xa.
Nhà phát triển có thể cho rằng đây là những vấn đề cài đặt, nằm ngoài phạm vi quan tâm của họ. Tôi thường thấy nhiều chu kỳ phân tích nhà phát triển về loại vấn đề này trước khi nó được xác định là 'vấn đề cơ sở hạ tầng'.
Nguồn
2009-07-13 14:49:18
Vì vậy, thông báo khởi động tốt là gì? Tôi không thích màn hình giật gân cá nhân. Còn gì nữa? –
Bất cứ điều gì từ thông báo trạng thái cho người dùng biết bạn đang làm gì sau khi biểu mẫu chính của bạn được hiển thị cho một nhãn nhỏ ở đâu đó trên biểu mẫu chính. Thanh tiến trình cũng hữu ích nếu có thể, thay vào đó là thanh tiến trình quay. – Maltrap
@utku Tôi hiểu bạn không thích màn hình giật gân, nhưng chúng hữu ích khi biểu mẫu chính không hiển thị ngay lập tức. Nếu không, người dùng của bạn có thể không biết ứng dụng đã bắt đầu và cố gắng khởi chạy lại ứng dụng. –