5 buoc tang toc web

Go down

5 buoc tang toc web

Post  myxl218 on Sun Jun 15, 2008 10:13 pm

5 bước tăng tốc ứng dụng web
Bạn đă đến thời hạn cuối cùng phải bàn giao sản phẩm ứng dụng web ASP.NET nhưng vẫn tồn tại một số vấn đề xung quanh tốc độ thực thi trang web?


Mục đích của các nhà thiết kế là phát triển một ứng dụng web với sự quản lư bộ nhớ thích hợp và cách thức một máy chủ web điều khiển các yêu cầu. Nhưng ngoài mục tiêu này th́ cũng không nên bỏ lỡ các cách giúp tăng tốc trang web khi phát triển các ứng dụng. Tôi sẽ phác thảo 5 bước giúp bạn tăng tốc nhanh chóng các ứng dụng web của ḿnh.

1. Các đối tượng điều khiển truy cập dữ liệu thích hợp

Một cách để thực sự phá hủy bộ nhớ trên máy chủ đó là không điều khiển chính xác các đối tượng truy cập dữ liệu. Khi khởi tạo một đối tượng truy cập dữ liệu, điều quan trọng là bạn phải có cái nh́n về khoảng thời gian tồn tại của nó và khi đối tượng này trở nên không c̣n cần thiết nữa th́ nó sẽ lấy ǵ để loại bỏ chính nó. Tôi thường thấy các nhà phát triển tạo ra, mở và sử dụng một DataReader nhưng không làm ǵ để bỏ nó. Hăy đảm bảo rằng các đối tượng truy nhập dữ liệu đều được quản lư; Điều này sẽ khiến bạn gặp phải một vấn đề lớn từ những thắc mắc tại sao các quy tŕnh xử lư IIS liên tục tiêu tốn bộ nhớ cho đến khi hệ thống phải ngưng lại. Thực hiện một t́m kiếm nhanh bên trong giải pháp cho bất kỳ trạng thái của DataReader mới được tạo nào. Đối với mỗi trạng thái t́m được, hăy đảm bảo rằng DataReader đă được đóng và loại bỏ. Sử dụng khối try/catch/finally bao quanh DataReader hay dùng câu lệnh nếu có một ngoại lệ xuất hiện, khối cuối cùng sẽ xử lư đóng và sắp xếp DataReader.

Ví dụ sử dụng câu lệnh:

using (IDataReader reader = MySite.GetSearchResults())
{
//Consume the datareader
while (reader.Read())
{
//Do something with the data
}
)

Ví dụ khối try/catch/finally:

IDataReader reader;
try
{
reader = MyWeb.GetSearchResults();
while (reader.Read())
{
//Do something with the data
}
}
catch (Exception ex)
{
//Log the exception
}
finally
{
//Dispose the object if it exists
if (reader != null)
reader.Dispose();
}
2. Quản lư các vùng ứng dụng IIS

Khi xử lư một ứng dụng web sẽ có nhiều hơn một thành phần liên quan. Thông thường bạn có trang web chính, một hay nhiều dịch vụ web và một ứng dụng xử lư ảnh. IIS 6.0 cho bạn tạo ra nhiều vùng ứng dụng. Các vùng ứng dụng cho phép nhóm các ứng dụng được cung cấp bởi các quy tŕnh xử lư riêng lẻ. Một trong số những lợi thế của việc phân chia những ứng dụng thành các vùng ứng dụng riêng lẻ đó là mỗi quá tŕnh nhân công xử lư sử dụng một bộ nhớ của riêng ḿnh. Không quan trọng bạn có bao nhiêu bộ nhớ trên máy chủ, một quá tŕnh ASP.NET sẽ được tiến hành chậm dần cho tới khi bộ nhớ mà nó tiêu dùng lên tới 800-900 Mb.

3. Quản lư trạng thái ASP.NET

Có hiểu biết về các loại trạng thái khác nhau của ASP.NET là rất quan trọng để cải thiện tốc độ thực thi các ứng dụng. ASP.NET có nhiều trạng thái khác nhau, nhưng những trạng thái mà bạn cần phải đặc biệt chú ư là trạng thái ứng dụng, trạng thái phiên và các thông tin thuộc tính bởi v́ mọi dữ liệu đều nằm trong bộ nhớ trên server. Tránh lưu trữ quá nhiều dữ liệu trong bất kỳ trạng thái nào trong ba cái trên trừ phi thật cần thiết. Nếu cần lưu trữ dữ liệu tại trạng thái phiên, hăy lưu trữ bất ḱ dữ liệu nào bạn cần, như các trường nhận biết hay các dữ liệu tĩnh thường xuyên được sử dụng. Nếu bạn muốn t́m hiểu sâu thêm th́ có rất nhiều bài viết trên mạng thống kê tất cả sự khác nhau của các trạng thái ASP.NET. Mỗi kiểu trạng thái chỉ nên được sử dụng khi cần thiết. Hăy dành thời gian để học và hiểu thật kỹ chúng.

Trạng thái khác mà bạn nên chú ư là trạng thái “view”; trạng thái này ảnh hưởng tới máy khách. Nó được dùng để giữ ǵn các giá trị trên trang hay điều khiển giữa các di chuyển qua lại trên máy chủ. Theo mặc định, trạng thái “view” được bật cho các trang ASP.NET. Không phải tất cả trang đều yêu cầu trạng thái “view”. Những trang web lớn có thể có một số lượng khổng lồ dữ liệu được lưu trữ. Một cách để biết chính xác trạng thái “view” như thế nào bạn hăy mở “View Source” từ tŕnh duyệt web. Một khối lớn các dữ liệu mă hóa chính là trạng thái “view”. Bạn có thể đánh giá trang web bằng cách xác định liệu có cần trạng thái “view” hay không. Bạn có thể tắt trạng thái “view” cho toàn bộ trang, điều khiển người dùng. Nếu tắt trạng thái “view” trên một trang hay điều khiển, hăy chắc chắn rằng bạn đă kiểm tra trang web để biết rằng chúng vẫn tiếp tục hoạt động chính xác

4. Xóa các Style Sheet và Script File

Một cách nhanh chóng và dễ dàng để cải thiện tốc độ ứng dụng web là quay trở lại dọn đẹp sạch sẽ các file CSS Style Sheet và Script File của các mă và hàm không cần thiết. Thường th́ các mẫu và hàm cũ vẫn c̣n tồn tại trong style sheet và script file trong thời gian cải tiến web. Nhiều website sử dụng CSS Style Sheet hay các Script File đơn cho toàn bộ website. Đôi khi, xem lại và dọn dẹp chúng có thể cải thiện tốc độ thực thi của trang web bằng việc giảm bớt kích thước trang. Nếu bạn tham chiếu tới h́nh ảnh mà không được sử dụng trên website th́ thật là phí thời gian để tải chúng. Chạy một chương tŕnh phân tích trang web bạn có thể nh́n thấy chính xác cái ǵ đang được tải và cái ǵ mất nhiều thời gian nhất để tải.

5. Thử tải trang web với hệ thống Visual Studio

Tải thử là rất quan trọng để phát hiện vấn đề thực thi và đo thời gian tác động. Visual Studio Team System (VSTS) bao gồm một công cụ tuyệt vời và đơn giản để tải thử ứng dụng web và đưa ra báo cáo. Sử dụng thuật tải thử thực hiện rất dễ chỉ qua một số bước cần thiết. Bắt đầu bằng việc tạo ra một hoặc nhiều web thử và định h́nh các thuộc tính trên mỗi web thử để mô phỏng người dùng. VSTS dùng Web Page Recorder cho phép bạn ghi một loạt các bước thực hiện trên website. Thiết lập các bộ đếm trên máy chủ sử dụng tốc độ màn h́nh. Sử dụng các bộ đếm để theo dơi các hoạt động đặc biệt trên máy chủ như các byte cá nhân, byte ảo và tỷ lệ phần trăm CPU. Nếu bộ nhớ bị lăng phí trong ứng dụng, bạn sẽ dễ dàng khám phá ra bằng cách kiểm tra bộ nhớ. Kết quả sẽ thay đổi phụ thuộc vào ứng dụng nào được tải, nhưng bộ nhớ máy chủ cần phải đạt đến một số lượng chắc chắn và ổn định. H́nh dưới là một ví dụ của tải thử bằng VSTS.



VSTS kiểm tra quá t́nh tải web

Kết luận

Năm bước cải thiện tốc độ thực thi web trên là để cung cấp cho bạn các kết quả nhanh chóng mà không mất thời gian triển khai và làm việc vất vả. Tuy nhiên, nếu bạn quyết định thực hiện bất kỳ bước nào vào trong ứng dụng web của ḿnh, hăy phân tích cẩn thận và nghiên cứu mỗi vùng dữ liệu để đưa ra quyết định chính xác. Tốt nhất là bạn nên đặt ra các yêu cầu cấu trúc âm thanh và lập kế hoạch trước khi bắt đầu. Hy vọng, những thủ thuật này hữu ích với bạn.
avatar
myxl218

Posts : 55
Join date : 2008-04-09

View user profile

Back to top Go down

Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum