Cải thiện tốc độ và hiệu suất web ASP.NET - Phần 4

Tiếp tục nào, 3 bài viết trước mình đã giới thiệu một số cách cải thiện tốc độ và hiệu suất cho web ASP.NET. Hôm nay mình xin tiếp tục với một số mẹo nhỏ khác để giúp bạn cải thiện tốc độ và hiệu suất cho web ASP.NET.

31. Nên sử dụng HttpServerUtility.Transfer().Phương thức này không liên quan đến việc chuyển hướng trang web(redirection). Thay vì việc gửi một redirect message quay trở lại trình duyệt(browser), ASP.NET chỉ đơn giản là bắt đầu một trang mới. Nên sẽ tiết kiệm được thời gian load

32. Nên hạn chế việc dùng nhiều biến Session. Session dùng để lưu trữ thông tin của người dùng hoặc phiên làm việc hiện tại. Nó giúp bạn trong việc kiểm tra và lấy thông tin từ người dùng đó. Nhưng nếu lượng truy cập hiện tại của web lớn thì các bộ nhớ dành cho việc lưu trữ thông tin trong session sẽ lớn và dễ gây nghẽn mạng hoặc request time out. Và để lấy được thông tin từ biến session bạn phải convert hoặc tuần tự hóa dữ liệu(serialization) trong các collection được lưu trữ. Điều này sẽ làm giảm hiệu suất thực thi và tăng thời gian load của trang.

33. Vài lưu ý trong việc build ứng dụng web aspnet. Build ứng dụng trong chế độ Release Mode, luôn precompile ứng dụng trước khi chạy, hạn chế hoặc có thể bỏ không dùng chế độ Debug Mode. Với việc build ứng dụng như thế này bạn sẽ có thể kiểm tra lỗi, triển khai ứng dụng nhanh hơn, import đầy đủ các dll ...

34. Hạn chế sử dụng quá nhiều ASP.NET Server controls. Sử dụng nhiều các aspnet server controls sẽ tăng thời gian và bộ nhớ của server để sử lí các controls đó.

35. Hãy sử dụng các transaction hợp lí. Dùng các transaction sẽ giúp bạn giữ vững được tính toàn vẹn của dữ liệu tiết kiệm được thời gian nếu có 1 transaction 1 tập hợp các transaction bị hỏng nó sẽ hủy toàn bộ những transaction đó mà không cần phải thực hiện đến transaction cuối.

36. Luôn sử dụng try-catch-finally. Sử dụng khối bắt lỗi này bạn có thể giảm được các lỗi truy xuất và sử lí dữ liệu cũng như ngắt kết nối và giải phóng dữ liệu sau khi đã sử dụng xong.

37.Sử dụng thuộc tính HttpResponse.IsClientConnected. Thuộc tính này sẽ giúp bạn kiểm tra việc client vẫn còn đang giữ kết nối với server hay không trước khi server xử lí việc truy xuất hoặc thao tác dữ liệu.

38.Tối ưu hóa vòng lặp. Vòng lặp for là vòng lặp được sử dụng nhiều nhất trong các loại vòng lặp. Trong vòng lặp for có hai loại là for foreach. Nhưng cách sử dụng 2 loại này là khác nhau. Vòng lặp for đối với các Ilist hoặc các mảng có index thì sẽ nhanh hơn foreach. Còn foreach dành cho các IEnumerable hoặc các collections không đánh index.

39. Hãy sử dụng Control.DataBind() thay vì dùng Page.DataBind(). Về lý thuyết thì 2 phương thức này đều Bind dữ liệu vào controls. Chỉ khác Control.DataBind thì sẽ bind dữ liệu và chính control đó còn Page.DataBind là bind dữ liệu vào các controls con nằm trên trang. Và việc dùng Page.DataBind cần phải khai báo rõ ràng. Như vậy với Control.DataBind bạn có thể chủ động hơn trong việc bind data.

40. Sử dung Repeater để hiển thị dữ liệu chỉ đọc. Nếu bạn chỉ hiển thị dữ liệu không thôi mà không thao tác dữ liệu thì nên sử dụng Repeater thay vì dùng Gridview hay DataList.

Không có nhận xét nào: