it-swarm-vi.tech

Đây có phải là plugin nặng hoặc nhiều plugin khiến trang web chậm?

Tôi thường nghe nói rằng có rất nhiều plugin sẽ làm chậm trang web WordPress. Điều này có ý nghĩa tất nhiên, vì càng nhiều mã thực thi, nó sẽ càng mất nhiều thời gian.

Tôi đang tự hỏi liệu sự chậm chạp chủ yếu là:

  • một kết quả của số lượng bổ sung? (vì WP phải thực hiện một số xử lý để định vị và tải từng plugin)

  • kết quả của việc có một vài plugin chậm/nặng?

Thực tế hơn, khi tôi tự viết, tôi có nên kết hợp chức năng vào ít tệp hơn để tăng tốc không? Hoặc có ổn không khi có 10-20 plugin mỗi tác vụ nhanh chóng?

6
allclaws

Tổng quát

Quy tắc ngón tay cái " rất nhiều plugin làm chậm trang web " là một công cụ rất cùn và được xử lý bởi những người không hiểu cách thức hoạt động của plugin để họ chọn thứ gì đó dễ bị phá hủy.

Có các plugin có thể làm chậm trang web của bạn nhưng nó không liên quan đến số lượng mà nó phải làm với chất lượng và những gì họ đang cố gắng thực hiện. Tôi có thể viết một plugin duy nhất sẽ đưa một trang web đến đầu gối (nếu có lý do để tôi làm như vậy) và nó sẽ tệ hơn 50 plugin được viết tốt khác. Tất nhiên mọi người viết plugin mọi lúc sẽ khiến một trang web quỳ xuống vì họ không biết gì hơn.

Tôi đoán sự thật duy nhất đối với " rất nhiều plugin làm chậm trang web " là khi bạn có rất nhiều plugin, nhiều khả năng bạn sẽ bắt gặp một plugin xấu.

Cụ thể

Vì vậy, hãy nói chi tiết cụ thể hơn. Các plugin sử dụng " hook " là các bit của PHP mã chạy một số điểm nhất định dọc theo đường dẫn thực thi và chúng có thể làm gì đó hoặc lọc một giá trị hoặc cả hai. WordPress bắt đầu gọi hook sớm hơn trong nỗ lực soạn thảo một trang web và tạo HTML để gửi tới trình duyệt và tiếp tục gọi hook gần như cho đến khi nó kết thúc chạy cho một trang nhất định.

Tùy thuộc vào hook mà plugin sử dụng, nó có thể chỉ được gọi trên một số trang nhất định, trong nền "" hoặc thậm chí gần như không bao giờ. Một số hook chỉ hoạt động trong bảng điều khiển quản trị. Một số hook chỉ hoạt động trong một số trang nhất định của bảng điều khiển quản trị. Và một số hook được gọi bởi hệ thống psuedo-cron nội bộ . OTOH, một số plugin có thể tải thêm các tệp CSS hoặc JS và mỗi tệp đó làm chậm hiệu suất vì Quy tắc hiệu suất web # 1 .

Nếu bạn muốn cảm nhận về những gì hook được gọi trên mỗi trang, hãy cân nhắc sử dụng " Móc công cụ cho WordPress "plugin tôi đã viết cho câu hỏi" Tôi có thể tìm danh sách WordPress ở đâu Móc? "Đây là ảnh chụp màn hình về những gì plugin hiển thị ở chân trang khi được sử dụng:

Screenshot of Instrument Hooks for WordPress Plugin in action

Nhưng chỉ cần biết các hook sẽ không giúp bạn biết chắc chắn nếu có vấn đề với plugin. Bạn có thể gọi một plugin 100 lần và gọi nó có thể không đáng kể so với một cuộc gọi hook khác có thêm mệnh đề WHERE cho truy vấn SQL có thể làm hỏng một trang web có hơn vài trăm bài đăng. Hoặc nó có thể thực hiện cuộc gọi HTTP đến một máy chủ khác. Hoặc nó có thể xóa các quy tắc viết lại trên mỗi lần tải trang. Danh sách các tội lỗi tiếp tục.

Cách thực sự duy nhất để biết chắc chắn rằng nó kiểm tra các hook của plugin bằng cách xem lại mã nguồn hoặc tốt hơn là chạy nó thông qua trình gỡ lỗi như PhpStorm + XDEBUG .

Plugin của riêng bạn

Đừng lo lắng về cách mã được tổ chức cho mục đích hiệu suất ; lo lắng về những gì mã của bạn làm. Tối ưu hóa truy vấn SQL thường xuyên chạy mua tận dụng API tạm thời (Xem: Việc trình bày về API thoáng qua ) sẽ là tốt hơn nhiều cho hiệu suất so với việc hợp nhất mã 10 plugin thành một.

Mặt khác, hãy xem xét việc tổ chức mã của bạn vì những lý do khác. Tôi nghĩ một danh sách dài các plugin có thể tạo ra sự đau khổ về tâm lý cho rất nhiều người dùng; họ thấy một màn hình như thế này, bị choáng ngợp và chỉ muốn đơn giản hóa mọi thứ:

Long List of Plugins
(nguồn: mikechinkel.com )

Tuy nhiên, mặt khác đôi khi người dùng có thể bị choáng ngợp vì một plugin làm quá nhiều. Ví dụ: tôi cảm thấy như vậy với Plugin Trình đánh giá xếp hạng sao . Sau khi thử nó trên một dự án (và tệ hơn nữa, cố gắng móc nó ra để làm cho nó làm những gì tôi cần), tôi quyết định ném nó lên tai.

Vì vậy, một số người (như tôi) thường sẽ thích rất nhiều plugin nhỏ gọn mà mỗi người làm một việc và làm tốt (sẽ rất tuyệt nếu WordPress hỗ trợ tính năng nhóm như thế nào iPhone iOS 4 cho phép bạn nhóm các ứng dụng trong các thư mục .)

Long List of Gd Star Rating Options
(nguồn: mikechinkel.com )

Dù sao, hy vọng điều này sẽ giúp.

8
MikeSchinkel

Các plugin tự nhiên chỉ là một phần của câu chuyện hiệu suất, vì vậy bạn không thể đo nó theo số lượng tệp cuối cùng. Có nhiều hơn và bạn không thể nói trước những gì hoạt động, vì vậy một cái gì đó có thể tốt trên máy tính của bạn không phải là trên những người khác.

Thay vì tìm kiếm hiệu suất, bạn nên xác định các tiêu chí khác và riêng để đưa ra quyết định. Ví dụ: đối với các plugin, bạn có thể thích đặt chức năng riêng biệt vào các plugin riêng biệt, để không trộn lẫn mọi thứ. Điều này có thể không bao giờ là hiệu suất khôn ngoan về tốc độ hoặc sử dụng bộ nhớ, nhưng giao dịch là giữ cho mọi thứ được kết hợp nhẹ để dễ dàng phát triển và sử dụng các plugin hơn. Đừng quên, khi một phiên bản mới của WordPress xuất hiện, chỉ có hai plugin có thể thoát ra khỏi mười và không phải là một phiên bản lớn mọi lúc. Và cuối cùng, một người dùng chỉ cần ba trong số mười plugin nên anh ta cần ít bộ nhớ hơn.

Nếu người dùng phàn nàn về hiệu suất của Blog của anh ấy/anh ấy, bạn thường có thể đề nghị họ chỉ có thể mua một máy chủ lớn hơn và các vấn đề về hiệu suất được giải quyết.

(Tiền trưởng thành) Tối ưu hóa là gốc rễ của mọi tội lỗi. Chỉ không nghĩ về hiệu suất khi viết plugin. Hãy xem nó là cách nhẹ nhàng và sáng sủa: Cuối cùng, WordPress không được thiết kế hiệu năng một cách khôn ngoan, đừng phạm sai lầm và cố gắng viết các plugin hiệu suất cho nó;)

WordPress được thiết kế với Big Ball of Mud- (chống-) mẫu thiết kế . Hệ thống plugin là một hệ thống đang hoạt động rất tốt với nó. Đừng nghĩ rằng bạn có thể tối ưu hóa nhiều như một tác giả plugin. Bạn không thể. Đừng chiến đấu với nó :)

2
hakre

Bạn có thể sử dụng WordPress với hàng trăm plugin, khi thiết kế của plugin vẫn ổn - hầu hết các plugin đều có mã xấu và đây là vấn đề về hiệu suất của WordPress.

0
bueltge

tất cả là về việc có các plugin phù hợp. Ví dụ: kiểm tra xem các trình cắm của bạn có ghi các bảng riêng của chúng vào cơ sở dữ liệu hay không, điều này thường làm mọi thứ chậm lại một chút. bất cứ điều gì tải nhiều jquery hoặc javascript thường sẽ làm chậm nó lên một chút. Số lượng lớn các trình cắm không phải lúc nào cũng có nghĩa là giảm hiệu suất. Hãy chắc chắn rằng bạn đang sử dụng một trình cắm thêm bộ đệm.

Tôi giả sử bạn đang hỏi điều này bởi vì bạn đang trải qua một sự chậm lại? Hỏi Chủ nhà của bạn nếu có bất cứ điều gì bạn có thể làm để tăng tốc nó và đảm bảo rằng cấu hình php của bạn được đặt chính xác.

0
rfair404

Tôi thường không cài đặt quá nhiều plugin cho WordPress, thay vào đó tôi cố gắng sử dụng các khung chủ đề làm công việc chính. Đúng là mọi plugin sẽ bổ sung vào mức tiêu thụ tài nguyên.

Mỗi plugin sẽ làm một cái gì đó, chúng phải khởi tạo, vì vậy chúng sẽ chạy một số mã khi một trang cho trang web của bạn được yêu cầu, chưa kể có rất nhiều liên kết trên bảng điều khiển WordPress khiến việc tải khó hơn.

Có thể bạn sẽ không nhận thấy nó trên một lưu trữ được chia sẻ với 2-3 nghìn lượt xem trang mỗi ngày, nhưng nếu bạn có một trang web với 3k người dùng hoạt động thì mỗi người trong số họ yêu cầu 10 trang mỗi ngày có thể trở thành một vấn đề.

0
Lucian

Bạn đang xem xét 2 điều sẽ làm chậm trang web của bạn: 1, việc xử lý từ các tệp đến (các) máy chủ, php và 2 của bạn, cách trình duyệt đọc mã.

Nếu mã bị cẩu thả, trình duyệt sẽ tăng gấp đôi hoặc gấp ba kiểm tra mã trước khi trình bày nó trên màn hình. Nếu bạn sử dụng nhiều plugin có nhiều cơ sở dữ liệu và yêu cầu máy chủ thì việc này có thể mất một thời gian và nếu chúng không được thực hiện chính xác, có thể có xung đột với yêu cầu có thể gây thêm thời gian hoặc tệ hơn, trang web của bạn không tải và/hoặc thông báo lỗi.

rFair404 đã đề cập đến các chương trình lưu trữ sẽ giúp yêu cầu máy chủ và một số sẽ nén mã html và điều đó nhắc nhở tôi, tôi cần phải nén một số trang css.

0
javajoba

Tôi sẽ nói rằng câu trả lời là cả hai .


Nhiều plugin hơn = chậm hơn

Mỗi plugin bạn kích hoạt thêm biểu định kiểu và/hoặc tệp javascript vào trang đang làm chậm đáng kể trang web của bạn.

Ngay cả các plugin được viết tốt nhất cũng sẽ làm hỏng trang web của bạn nếu mỗi plugin yêu cầu một tệp định kiểu và tệp javascript để làm một cái gì đó ở mặt trước của trang web của bạn.

Hợp nhất các tệp của bạn

Nếu bạn điều hành một trang wordpress, bạn nợ chính mình để học cách:

  • Hợp nhất các tệp javascript lại với nhau
  • Hợp nhất các tệp định kiểu với nhau
  • Di chuyển các cuộc gọi javascript từ đầu trang đến chân trang

Nếu bạn chạy một trang wordpress và bạn không thể làm những điều trên, thì bạn không nên chạy một trang wordpress ... hoặc ít nhất bạn không nên phàn nàn khi trang web của bạn chậm lại khi bạn tải thêm plugin.

Ngoài ra, bất cứ ai đang chạy một trang wordpress nên biết cách:

  • Giảm thiểu các tệp CSS và javascript
  • Bật nén máy chủ
  • Đảm bảo các tiêu đề hết hạn được cung cấp với các tập lệnh và biểu định kiểu

Các plugin được viết kém = chậm hơn

Các cách chính để tác giả plugin thực sự làm chậm trang web của bạn như sau:

  1. Đang tải nhiều tập lệnh hoặc biểu định kiểu cho một trang - xem bên trên
  2. Sử dụng cơ sở dữ liệu không đúng cách - các truy vấn được viết kém, sửa đổi truy vấn, v.v. có thể có tác động nghiêm trọng đến một trang web. Không lưu trữ kết quả bộ nhớ cache khi có thể cũng có thể làm mọi thứ chậm lại. Hầu hết mọi người hút tại phát triển cơ sở dữ liệu và quản trị. Khi những người như vậy sử dụng cơ sở dữ liệu, vấn đề xảy ra sau đó.
  3. Sử dụng wp cron không đúng cách - các công việc cron liên tục trên mỗi yêu cầu của người dùng sẽ khiến máy chủ quỳ xuống.

Viết ngắn mã thực sự xấu (vòng lặp bán vô hạn, hàng tấn biểu thức chính quy không cần thiết, v.v.), hầu hết mọi thứ sẽ không có tác dụng nhiều khi bạn xem xét wordpress đã lớn như thế nào. Thêm 1% thời gian xử lý không nhiều.


Nhiệm vụ chậm hoàn toàn

Có một số thứ chỉ chậm dù được viết tốt như thế nào:

  1. Sử dụng dịch vụ của bên thứ 3 - Bất cứ khi nào phản hồi của bạn đối với người dùng phụ thuộc vào phản hồi từ bên thứ 3, trang web của bạn sẽ trở nên chậm hơn nhiều.

Tất nhiên, khi được thực hiện đúng cách (kết quả được lưu trong bộ nhớ cache, thực hiện như các quá trình nền nếu có thể, v.v.), nhiều dịch vụ của bên thứ 3 có thể được sử dụng mà không gặp nhiều vấn đề.

0
Privateer