Dismiss Notice

Chào bạn!

Hãy đăng nhập diễn đàn nopViet.com để thảo luận và nhận thông tin mới nhất về nopCommerce nhé.

Đăng nhập bằng Facebook

Các biện pháp tối ưu hóa hiệu suất trang web nopCommerce

Thảo luận trong 'Thảo luận chung về NOP' bắt đầu bởi An Nguyen, 21/12/16.

  1. An Nguyen

    An Nguyen bụi Staff Member

    Bài viết:
    287
    Điểm:
    28
    Nơi ở:
    Biên Hòa
    Trang chủ:
    ‎Hiệu năng là điểm đau đớn nhất mà chúng ta thường mắc kẹt trong khi đang cố gắng để tối ưu hóa một trang web. Kể từ khi nopCommerce chạy trên Windows Server và nopCommerce có rất cách thiết lập cấu hình có thể thực hiện. Trong bài viết này chúng ta sẽ nói về cách phổ biến để xem, lựa chọn và cấu hình. Ngoài ra, có một số cách thực hiện tốt nhất để cải thiện trang web nopCommerce của bạn, mở rộng quy mô môi trường lưu trữ.‎
    upload_2016-12-21_0-49-22.png

    ‎Tài nguyên‎
    ‎Đây là điểm đầu tiên, nơi bạn có thể tối ưu hóa hiệu năng trang web của bạn bằng cách tăng khả năng hỗ trợ IO (Input/Output) cao hơn như‎

    • ‎Dung lượng đĩa‎
    • ‎Kiểu đĩa (khuyên dùng ổ đĩa flash, SSD)‎
    • ‎RAM (tốc độ cao)‎
    • ‎CPU (mở rộng CPU cho kết quả tốt hơn)‎
    Database (MS SQL SERVER)
    upload_2016-12-21_0-50-38.png
    Chọn đúng phiên bản MS SQL SERVER cho trang web nopCommerce của bạn là điều thứ hai và điểm quan trọng nhất để xem xét nhưng nhiều người trong chúng ta không thực sự nhìn nhận điều này. MS SQL SERVER có nhiều phiên bản khác nhau, ví dụ, MS SQL SERVER 2016 có ba phiên bản khác nhau, xem ‎‎ở đây‎‎. Bạn cũng có thể so sánh các tính năng được hỗ trợ trong các phiên bản MS SQL SERVER 2016 ‎‎tại đây‎‎. Chúng ta có thể thấy In-Memory OLTP chỉ được cung cấp ở phiên bản doanh nghiệp của MS SQL SERVER 2016 , xem ‎‎ở đây‎‎. Điều này làm cho MS SQL SERVER của bạn phản hồi nhanh hơn nhiều, nhưng nó đòi hỏi có kỹ thuật và cài đặt MS SQL SERVER đúng trên máy chủ hosting của bạn.‎

    ‎Bạn luôn nên đặt MS SQL SERVER trên một máy chủ chuyên dụng riêng biệt. Như đã nói trên MSDN ‎‎ở đây‎‎, "mặc dù bạn có thể cài đặt một phiên SQL Server trên máy tính chạy IIS, điều này thường được thực hiện chỉ dành cho các trang Web nhỏ có một máy chủ đơn. Hầu hết các trang Web có hệ thống IIS trung cấp trên một máy chủ hoặc một cụm máy chủ, và cơ sở dữ liệu của chúng đặt trên một máy chủ riêng biệt hoặc các Federation Servers."‎

    ‎Bạn cũng nên làm theo thực tiễn tốt nhất cho máy chủ MS SQL SERVER của bạn như dưới đây:‎

    • ‎Luôn luôn sử dụng phiên bản mới nhất, áp dụng các bản vá lỗi/sửa chữa và service pack
    • ‎Theo dõi MS SQL SERVER của bạn và các chỉ mục lỗi update/add
    • ‎Theo dõi IO, nếu độ trễ Read hoặc Write một hầu hết lớn hơn 15-20ms thì IO của bạn được xem là chậm. Xem xét nâng cấp lưu trữ tốt hơn(SSD, flash hoặc card PCI Fusion IO)‎
    • ‎Đảm bảo rằng connection string (chuỗi kết nối) của bạn đặt "MultipleActiveResultSets = True" cho phép Entity Framework thực hiện yêu cầu nhiều tới MS SQL SERVER trên một kết nối duy nhất, việc giảm số lượng quay trở lại
    • ‎Có một máy chủ nhân bản cho báo cáo nặng và tránh chạy rất nhiều báo cáo trực tiếp trên các bản sao hoạt động của cơ sở dữ liệu.‎
    • ‎Để ý không gian ổ đĩa, giám sát ‎
      1. Tập tin log tăng kích thước‎ (chủ động theo dõi tốc độ tăng kích thước tập tin)‎
      2. ‎Kích thước & không gian trống trong tập tin dữ liệu (nên cho trước kích thước để chúng khống tăng kích thước tự động)‎
      3. ‎Không gian ổ đĩa (quy luật tất nhiên, nên có ít nhất 10% không gian trống)‎
      4. ‎Sao lưu (đảm bảo phải sao lưu thường xuyên, và việc sao lưu ổ đĩa của bạn phải có đủ không gian trống để thực hiện sao lưu)‎
    • ‎Thực hiện công việc bảo trì thường xuyên
    Hiệu suất IIS
    ‎IIS đóng một vai trò quan trọng trong hoạt động trang web. Dưới đây là một số khuyến nghị phổ biến nhất cho máy chủ lưu trữ IIS.‎
    • ‎Sử dụng một application pool riêng cho mỗi trang web‎
    • ‎Sử dụng application pool 32-bit (không chỉ của nó khả năng tương thích tốt hơn so với bản xứ 64-bit, hiệu suất và mức tiêu thụ bộ nhớ cũng tốt hơn)‎
    • ‎Cấu hình recycling đúng
      1. Thời gian rỗi time-out (phút): 0‎
      2. khoảng thời gian thường xuyên (phút): 0‎
      3. ‎Thời gian cụ thể: thiết lập thời gian ít được sử dụng trong ngày‎
    • ‎Không thiết lập bất kỳ giới hạn bộ nhớ trừ khi xử lý sự cố tình huống cụ thể‎
    • ‎Không sử dụng trang Web Garden cho đến khi bạn biết những gì bạn đang làm‎
    • ‎Nhật ký (logging)
      1. ‎Xem xét chỉ ghi nhật ký (log) sự kiện quan trọng trên máy sản xuất. Bạn có thể ghi lại nhật ký (log) mọi thứ khi gỡ lỗi‎
      2. ‎Giám sát việc sử dụng đĩa như các bản ghi có thể phát triển khá nhanh‎
      3. ‎Lên Lịch tự động lưu trữ các bản ghi‎ nhật ký cũ
    • ‎Đảm bảo rằng debugging ASP đã tắt trong IIS‎
    • ‎Sử dụng nén tĩnh và động (thiết lập Set Compression Level 4, và loại trừ các tập tin như JPEG, PDF đã được nén sẵn)‎
    • Sử dụng HTTP expires header

    ‎Cấu hình nopCommerce
    ‎Cấu hình nopCommerce một cách thích hợp và theo thực tiễn tốt nhất cho nopCommerce luôn luôn được khuyến khích. Hơn nữa, chúng ta nên luôn luôn ghi nhớ những điều sau đây:‎
    • ‎Luôn luôn sử dụng nopCommerce‎ phiên bản mới nhất
    • ‎Đảm bảo những điều này khi xuất bản trên máy chủ sản xuất‎
      1. ‎Đảm bảo Debug đã thiết lập sang False trong web.config‎
      2. ‎Cho phép HTTP Compression. Nén động và tĩnh trên IIS để giảm băng thông các yêu cầu (tập tin nén)‎
      3. ‎Kích hoạt Browser Caching. Chỉ cho trình duyệt làm thế nào để cache nội dung, và cache bao lâu (thiết lập expiry headers)‎
    • ‎Cài đặt chung (ngôn ngữ không sử dụng, cửa hàng, tiền tệ, plugins, theme không dùng)‎
      1. ‎Hiểu cài đặt trước khi áp dụng (đọc gợi ý)‎
      2. ‎Loại bỏ ngôn ngữ‎ không sử dụng
      3. ‎Loại bỏ các cửa hàng‎ không sử dụng
      4. ‎Loại bỏ các loại tiền tệ‎ không sử dụng
      5. ‎Loại bỏ plugins‎ không sử dụng
      6. ‎Loại bỏ chủ đề‎ không sử dụng
      7. ‎Tiền tố WWW, Redirect là tốn kém‎
      8. ‎Sử dụng bundling & minification (JS và CSS)‎
      9. ‎Tải tất cả tài nguyên cục bộ (locale resources) khi khởi động. Điều này đòi hỏi nhiều bộ nhớ hơn. Không được khuyến khích để kích hoạt khi bạn có một catalog lớn hoặc có hàng nghìn entities‎ (sản phẩm)
      10. ‎Tải tất cả các bản địa hoá (localized) khi khởi động. Điều này đòi hỏi nhiều bộ nhớ‎
      11. ‎Tải tất cả tên search engine friendly khi khởi động. Điều này đòi hỏi nhiều bộ nhớ‎
      12. ‎Nếu không sử dụng, kích hoạt cài đặt sau đây: ‎
          • Ignore site wide ACL rules
          • Ignore site wide "limit per store" rules
          • Ignore site wide discounts
          • Ignore site wide featured products
          • Bộ nhớ cache giá sản phẩm (chỉ trong trường hợp nếu giá của bạn được liên tục)‎
      13. ‎Nếu bạn gửi email trong dung lượng lớn, sử dụng Email Server bên ngoài‎
      14. ‎Nếu không cần thiết vô hiệu hóa trang truy cập lần cuối (store last visited page)
    • ‎Cài đặt Media
      1. ‎Giữ hình ảnh kích thước bạn thực sự sử dụng trong theme
      2. ‎Nếu catalog nhỏ, chỉ lưu giữ hình ảnh trong database
      3. ‎Đối với catalog lớn, lưu giữ hình ảnh trong hệ thống tập tin (file system) hơn là lưu trữ trong database
      4. ‎Thiết lập chất lượng hình ảnh mặc định một cách khôn ngoan‎
    • ‎Bảo trì‎
      • ‎Xóa khách và giỏ hàng khách định kỳ sử dụng Scheduled Tasks trong nopCommerce‎
      • ‎Xóa giỏ hàng đã hủy, nếu không sử dụng (System>Maintenance trong menu admin nopCommerce)‎
      • ‎Xóa các tập tin exported cũ (System>Maintenance trong menu admin nopCommerce)‎
      • ‎Kích hoạt clear logs sử dụng Scheduled Tasks trong nopCommerce‎
      • ‎Theo dõi logs, khắc phục lỗi‎
      • ‎Thêm resource strings bị lỗi
      • ‎Theo dõi hàng chờ email‎

    ‎Kiến nghị khác‎
    upload_2016-12-21_0-53-3.png
    Còn vài thứ khác, cũng cần được giải quyết để cải thiện hiệu suất trong nopCommerce. Cấu hình hoặc sử dụng các điểm đề cập dưới đây có thể rất hữu ích nhưng một số rất ít trong số chúng phụ thuộc vào vấn đề mà một chủ cửa hàng đang phải đối mặt và kịch bản mà có thể khác nhau theo mô hình kinh doanh của một trang web nopCommerce.
    • ‎Sử dụng CDN để cung cấp nội dung nhanh hơn‎
    • ‎Sử dụng HTTP/2, (nếu sử dụng HTTP/2,hãy chắc chắn đã thiết lập Force SSL thành True cho tất cả các trang web)‎
    • ‎Đảm bảo Windows Server được cập nhật và chạy ổn định
    • ‎Cấu hình các phần mềm diệt vi-rút loại trừ: ‎
      1. T‎hư mục‎ Content
      2. ‎Thư mục chứa các tập tin tạm ASP.NET (C:\Windows\Framework[64]\vX.X.XXXXX\)‎
      3. ‎Bất kỳ thư mục temp nào khác nếu sử dụng‎
    • ‎Giám sát & sửa chữa các tiến trình sử dụng tài nguyên không cần thiết‎
    • ‎Việc sao lưu trong thời gian cao điểm‎
    • ‎Đảm bảo máy chủ của bạn có đủ băng thông‎
    • ‎Không để cho trang web của bạn liên tục bị crash do lưu lượng truy cập không mong muốn. Lập kế hoạch cho lưu lượng truy cập lớn để đảm bảo trang web của bạn có thể xử lý tải‎
    • ‎Mô phỏng tải cao điểm, theo dõi trang web đáp ứng và đo lường hành vi ứng dụng trước
    Các lời khuyên, cài đặt và đề nghị đề cập bên trên có thể được sử dụng cho bất kỳ cửa hàng nào dựa trên nền tảng nopCommerce và cũng có thể được sử dụng cho bất kỳ trang web nào khác chứ không phải là cấu hình nopCommerce để cải thiện hiệu suất và khả năng mở rộng của một trang web trên một môi trường lưu trữ. Vì nó là rất cần thiết để hiểu khái niệm cơ bản trước khi áp dụng một cái gì đó, chúng tôi đã cố gắng để bao gồm càng nhiều càng tốt. Tuy nhiên, ở nhiều nơi, trong bài viết này chúng tôi chỉ đề cập điểm vì lợi ích của sự hiểu biết, vì các mẹo cung cấp luôn sẽ mang lại kết quả.

    ‎Nếu bạn thích đọc nó và nếu bạn đạt được bất kỳ lợi ích từ bài viết này sau đó xin vui lòng chia sẻ thông tin phản hồi của bạn với chúng tôi vì đó sẽ khuyến khích chúng tôi để viết bài viết tiếp theo của chúng tôi trong một cách thời trang nhiều. Blog kế tiếp của chúng tôi sẽ về "Detecting poor performance issues and how to find bottlenecks in nopCommerce" mà sẽ là hữu ích cho độc giả của chúng tôi để hiểu khi nào thì tìm kiếm tối ưu hóa hiệu suất.‎

    ‎Bài viết này đã được chuẩn bị sẵn sàng và được xuất bản bởi nopAccelerate. nopAcceleratee là một phần của Xcellence, NÓ là một công ty phần mềm Ấn Độ dựa trên. Chúng tôi đang cung cấp ‎‎ ‎‎dịch vụ phát triển chuyên nghiệp nopCommerce‎‎ ‎‎ cho khách hàng của chúng tôi kể từ năm 2011, giúp họ để đáp ứng các mục tiêu kinh doanh của họ bằng cách sử dụng kiến trúc linh hoạt của nopCommerce. Bạn có thể tìm hiểu thêm về nopAccelerate ‎‎ở đây‎‎ và bạn cũng có thể tìm sản phẩm và dịch vụ của chúng tôi ‎‎ở đây‎‎.‎
     
    Sửa lần cuối: 22/12/16
    Tags:
  2. Đang tải...

    Chủ đề liên quan Diễn đàn Date
    Hỏi Cách thêm giá sản phẩm trong search autocomplete không? Thảo luận chung về NOP 3/1/17
    VIDEO Cách sử dụng cumulative discounts (cộng dồn giảm giá) trên nopCommerce Hướng dẫn sử dụng, cấu hình NOP 2/1/17
    Hướng dẫn Cách cài đặt Microsoft Security Essentials trên Windows Server 2012 R2 Quản trị Windows Server 27/12/16

Draft saved Draft deleted

Chia sẻ trang này

Đang tải...