đặt vấn đề nhƣ sau. Một là: Theo cách đánh giá công cụ tìm kiếm google nếu website 50ms slower (Chậm hơn 50ms) = 20% drop in traffic (Giảm đi mất 20% lƣu lƣợng truy cập). Tức là trang web chỉ chậm hơn 50 mili giây là công cụ tìm kiếm google xếp thứ hạng giảm đi 20% lƣu lƣợng truy cập. Điều này đồng nghĩa với việc nếu một trang web nhanh lên 50 mili giây thì website đó sẽ đạt đƣợc lợi ích nhƣ gia tăng độ phổ biến, góp phần xây dựng uy tín, đánh giá đƣợc sự quan tâm của ngƣời sử dụng, giúp gia tăng các lƣợng ngƣời dùng mới.
Đặc biệt là một tiêu chí xếp hạng website trong bản xếp hạng kết quả tìm kếm sẽ đƣợc lên vị trí cao hơn giúp ngƣời dùng biết đến website đó dễ dàng hơn. Hai là: Một bí quyết thành công quan trọng của CEO AMAZON là ông luôn khó chịu với những thứ khách hàng ghét nhƣ sự chậm trễ, sản phẩm gặp lỗi hay hết hàng. Với Amazon website phải đƣợc đảm bảo vận hành nhanh chóng nhất có thể vì Amazon tin thời gian tải trang chỉ trễ 0,1s đồng nghĩa họ mất 1% hoạt động của khách hàng. Theo tính toán năm 2014 doanh thu Amazon 75 tỷ đô vậy công ty sẽ mất $2,054,794 mỗi ngày nếu site chậm 0,1s giây.
Nếu ai đó là nhân viên của Amazon và có thể tối ƣu website này nhanh lên 0,1s nếu làm đƣợc nhƣ vậy thì sẽ giúp Amazon kiếm đƣợc $2,054,794 mỗi ngày. Ba là: su hƣớng tất yếu của sự dịch chuyển nền tảng hỗ trợ truy cập website từ thiết bị cầm tay nhƣ mobile và máy tính bảng ngày càng lớn. Vấn đề đặt ra là các thiết bị này bị giới hạn về năng lực xử lý và bang thông truy cập. Vì thế những website nhanh ngƣời dùng sẽ đánh giá rất cao trong cảm nhận sự tƣơng tác với giao diện, họ sẽ ở lại và truy cập website đó nhiều hơn và số lƣợng ngƣời dùng cũng từ đó mà gia tăng nhiều hơn.
Trái ngƣợc lại nếu website không đƣợc tối ƣu hiệu năng. Chúng sẽ trở lên chậm chạp khiến quá trình hiển thị của 1 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com trang sẽ nặng nề không đồng nhất, thậm chí phá vỡ cấu trúc của trang dẫn đến sự phản cảm trải nghiệm ngƣời dùng. Theo ngồn thông tin khảo sát bởi tổ chức strangeloopnetworks.com chứng minh rằng 57% số lƣợng ngƣời tiêu dùng trực tuyến sẽ cảm thấy bực bội khi phải đợi một web site tải hết trên 3 giây. 80% số họ sẽ không bao giờ quay lại và hầu hết nửa số họ sẽ nói với ngƣời khác về trải nghiệm không tốt với các website đó [1].
Bốn là: Theo nghiên cứu trong vài năm gần đây có nhiều hệ thống lớn thƣờng xuyên bị quá tải phục vụ và ngừng hoạt động khi lƣợng truy cập tăng đột biến. Chẳng hạn nhƣ các hệ thống bán vé tầu vào dịp tết nguyên đán, hệ thống xem điểm thi đại học, hệ thống tài chính chứng khoán, ngân hàng luôn luôn bị quá tải khi số lƣợng ngƣời dùng đồng thời tăng lên hàng trăm ngàn lƣợt truy cập trên giây. Vậy khi đó nghĩ đến việc mở rộng gánh tải cho phần cứng mở rộng đƣờng truyền, từng đó chƣa đủ và quá tốn kém chi phí. Nếu nghĩ đến việc tối ƣu hiệu năng cho ứng dụng lúc đó sẽ là quá muộn và tốn rất nhiều chi phí thậm chí phải kiến trúc lại từ đầu.
Hơn nữa làm ảnh hƣởng nghiêm trọng đến hình ảnh website đây cũng là nguyên nhân chính dẫn đến sự thành bại của dự án. Chính vì thế khi phát triển một hệ thống phần mềm lớn công đoạn kiểm thử hiệu năng ứng dụng trƣớc khi phát hành sản phẩm là rất cần thiết để đảm bảo khả năng, mức độ chịu tải, độ tin cậy và khả năng mở rộng của hệ thống theo một khối lƣợng tải nhất định. Tránh rủi ro thảm họa về hiệu năng và qua đó đánh giá lại kết quả tối ƣu hiệu năng sau mỗi giai đoạn phát triển. Dựa trên kết quả kiểm thử hiệu năng các nhà phát triển sẽ sử dụng các công cụ phân tích để tìm ra đƣợc nút thắt cổ trai, tìm ra đƣợc các chức năng tốn thời gian xử lý, chiếm dụng nhiều bộ nhớ qua đó giúp tối ƣu kịp thời trƣớc khi phát hành sản phẩm.
Để nâng cao hiệu năng thực thi của ứng dụng web là một lĩnh vực rất rộng lớn và phức tạp. Hầu hết các vấn đề hiệu năng gây ra vì chức năng thử nghiệm không tốt, không có các phƣơng pháp và chiến lƣợc tối ƣu cho ứng dụng, các vấn đề hạ tầng, ít nhất đây là ba vấn đề đầu tiên đƣợc quan tâm khi phát triển dự án. Chính vì thế tình trạng khá phổ biến ở việt nam là hầu hết các website khi phát hành đều gặp phải các sự cố hiệu năng. Qua nghiên cứu về 20 trang thƣơng mại điện tử, báo chí từ năm 2001 đến 2014, Amazon đã đạt điểm cao hơn 70% so với mức độ khả năng tải phản hồi trung bình của 19 trang còn lại.
Amazon tải file nhanh hơn vài giây so với các 2 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com đối thủ. Ở một bài toán kiểm tra amazon.com tải cả trang mất 2,802s, Trang bắt đầu hiển thị mất 1,191s trong khi đó các trang còn lại phải mất 7s để bắt đầu hiển thị giao diện. Họ nhanh hơn một phần là do hạ tầng phần cứng của họ vƣợt trội nhƣng phần lớn là do họ chú trọng tối ƣu hiệu năng cho website tốt hơn. Dƣới đây là báo cáo kết quả qua nghiên cứu và so sánh một số trang web tiêu biểu.
Trang amazon với kết quả vƣợt trội thời gian bắt đầu hiển thị nội dung ở 1.1 Đánh giá hiệu năng trang amazon Trang vnexpress tại Việt Nam một trong những trang báo điện tử đƣợc đánh giá nhanh nhất việt nam. Nhƣng qua bài test thời gian bắt đầu hiển thị nội dung ở 5. 3 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Đánh giá hiệu năng trang vnexpress Trang đại học công nghệ http://www2.vn/coltech/ Hiển thị trang ở 3,5s thời gian xử lý ở server-side 1,242 các chỉ số tối ƣu đều điểm F rất tệ, Không sử dụng CND.3 Đánh giá hiệu năng trang đại học công nghệ 4 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.4A Đánh giá tổng hợp hiệu năng các trang web lớn 5 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.4B Đánh giá tổng hợp hiệu năng các trang web lớn Qua bảng đánh giá tổng hợp ta thấy 1,5s giây đầu tiên amazon đã hiển thị nửa trang vnxpress bắt đầu hiển thị ở giây thứ 5,5s, trang thời báo doanh nhân chƣa hiển thị. Tóm lại vấn đề tối ƣu hiệu năng và kiểm thử hiệu năng cho ứng dụng web nói riêng và ứng dụng phần mềm nói chung là vô cùng quan trọng và không thể thiếu.
Nó không chỉ góp phần làm tốt hơn cho trải nghiệm ngƣời dùng, nó còn giúp giữ và gia tăng số ngƣời sử dụng theo thời gian. Đồng nghĩa với việc giúp thúc đẩy tăng trƣởng to lớn trong kinh doanh. Vì vậy cần có một chiến lƣợc tối ƣu hiệu năng và kiểm thử hiệu năng ngay từ khi bắt đầu xây dựng dự án. 6 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chƣơng 2.
NGHIÊN CỨU CÁC KỸ THUẬT GIÚP TĂNG TỐC ĐỘ THỰC THI CHO HAI TẦNG CLIENT-SIDE VÀ SERVER-SIDE Trong chƣơng này, sẽ phân tích và hƣớng dẫn cách áp dụng các kỹ thuật tiên tiến giúp tăng tốc độ thực thi của ứng dụng web. Có hai tầng của ứng dụng cần áp dụng các kỹ thuật này, bao gồm client-side và server-side. Khái niệm căn bản Client-side và Server-side Đây là những khái niệm nền tảng để xây dựng nên một hệ thống ứng dụng Web. Client-side: Là các chƣơng trình ứng dụng dùng để thiết lập kết nối với mục đích gửi đi các yêu cầu cung cấp dịch vụ.
Đó là các trình duyệt Web, các trình biên tập (editor) hoặc các công cụ ngƣời sử dụng cuối khác. Các client thông dụng nhất thƣờng chạy trên máy của ngƣời sử dụng cuối. Server-side: Là chƣơng trình ứng dụng dùng để chấp nhận kết nối với mục đích phục vụ các yêu cầu cung cấp dịch vụ bằng cách gửi các đáp ứng trở lại phía yêu cầu. Đối với các hệ thống cung cấp dịch vụ lớn, các chƣơng trình này thƣờng chạy trên các hệ thống phần cứng riêng và thƣờng đƣợc phân biệt là phần cứng server và phần mềm server.
Một máy chủ Web (Web server) thì quản lý và cung cấp việc truy cập tới một tập hợp các tài nguyên trên nó. Tài nguyên trên nó thì có thể đơn giản chỉ là các file văn bản, hình ảnh hoặc có thể là các dữ liệu phức tạp hơn chẳng hạn nhƣ các cơ sở dữ liệu. Trên nền tảng Web thì hầu hết các yêu cầu chủ yếu là các công việc download. Các máy client thì download thông tin từ server.
Trong trƣờng hợp này chính nó gửi thông tin yêu cầu chứa tên của tài nguyên cộng thêm với một vài thông tin từ phía client thì trong đó thông tin download về thì thƣờng là các dữ liệu văn bản hoặc hình ảnh với kích thƣớc trung bình khoảng 10000B. Đây chính là một trong những đặc điểm cơ bản của hệ thống Web. Tốc độ nhận dữ liệu bao giờ cũng cao hơn tốc độ truyền dữ liệu đi bởi vậy hầu hết ngƣời sử dụng Web thì thƣờng xuyên nhận thông tin. 7 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Web client thƣờng dùng đƣợc gọi là trình duyệt (browser).
Những ứng dụng này chẳng hạn nhƣ là Chrome, Firefox, Safari và Microsoft Internet Explore. Mục đích của những trình duyệt này là hiển thị nội dung của một trang Web Có một số lƣợng lớn các server đƣợc sử dụng rộng rãi trên Web. Apache HTTP server là một trong những server Web thông dụng và miễn phí. Netcape, Microsoft và các công ty khác cũng có một số các sản phẩm.
Nhƣng hầu hết tất cả các sản phẩm thì đều tập trung vào hiệu năng của các server. Một site nổi tiếng trên Internet thì có thể nhận 10 triệu yêu cầu một ngày. Trong trƣờng hợp này thì cả phần cứng lẫn phần mềm đều phải đƣợc thiết kế một cách cẩn thận để có thể đáp ứng đƣợc nhiều yêu cầu một lúc nhƣ vậy. Có rất nhiều site chạy trên nhiều server song song với nhau để có thể đáp ứng đƣợc tỉ lệ cao các yêu cầu nhƣ vậy và còn phục vụ cho việc dự phòng.
Các kỹ thuật tối ƣu hiệu năng client-side Theo nghiên cứu của 50 nghìn website hàng đầu, 13% thời gian xử lý phản hồi từ database logic và server side, 87% thời gian xử lý phản hồi ở client side gồm tải ảnh, css, js, html, video stream và các tài nguyên khác [2].