Asked Oct 22nd, 7:01 AM 84 0 2
  • 84 0 2
0

Tìm giải pháp cho slow queries trong Wordpress

Share
  • 84 0 2

Em chào mọi người,

Trong quá trình phát triển dự án, từ lúc đầu tới lúc dự án có tương đối dữ liệu gồm nhiều meta data khác nhau. Query dữ liệu gặp vấn đề về hiệu suất, anh chị cho em hỏi có giải pháp nào cho việc tối ưu này không?

Em cảm ơn.

2 ANSWERS


Answered Oct 22nd, 7:33 AM
Accepted
+3

Mình không làm về wordpress nhưng vẫn dùng sql thì mình nghĩ cách giải quyết có lẽ sẽ như nhau:

Nếu chậm do quá nhiều dữ liệu thì bạn có thể thử các cách sau:

  • Đánh index để giúp truy vấn nhanh hơn
  • Cache lại dữ liệu để lần sau sử dụng không cần phải truy vấn tới db nữa
  • Tiến hành làm phân trang: Đừng load hết toàn bộ dữ liệu ra mà hãy phân trang cho người dùng

Nếu chậm do queries trùng lặp nhiều

  • Việc các bạn có relation với nhau nếu query không cẩn thận sẽ dẫn tới việc trùng lặp dữ liệu (n + 1), bạn cũng nên thử check xem có đang gặp vấn đề này không để thay đổi lại cách query cho phù hợp

Đó là ý kiến riêng của mình thôi 😄

Share
Trương Văn Huy @subhopefully
Oct 22nd, 7:39 AM

Thank anh ạ. trong wp mỗi lần update core là sẽ bắt làm mới mysql, về đánh index cho my sql anh có example không cho em xin với ạ.

0
| Reply
Share
Dương Mạnh Hoàng @duong.manh.hoang
Oct 22nd, 7:41 AM

@subhopefully đánh index thì nó sẽ phù hợp với việc dữ liệu ít bị update hơn, còn dữ liệu mà update liên tục thì có lẽ không phải là cách hay

Bạn có thể đọc thêm những bài về index trên viblo:

https://viblo.asia/p/index-trong-mysql-va-cach-su-dung-K1ov1akxv5b9

0
| Reply
Share
Trương Văn Huy @subhopefully
Oct 22nd, 7:45 AM

@duong.manh.hoang ok anh ạ. Em đọc ngoài việc phải xử lý trong mysql ra thì có service NewRelic có thể dùng anh biết cái này k ạ.

0
| Reply
Share
Dương Mạnh Hoàng @duong.manh.hoang
Oct 22nd, 7:51 AM

@subhopefully mình chưa biết về cái này. Vừa có thử đọc qua thì nó để giám sát hệ thống, chứ hình như không giúp tối ưu

0
| Reply
Share
Trương Văn Huy @subhopefully
Oct 22nd, 7:52 AM

@duong.manh.hoang vâng anh, many thanks.

0
| Reply
Share
Answered Oct 22nd, 8:11 AM
+1

Wordpress từ đầu vốn đã không phải là mã nguồn hướng đến hiệu suất cao. Bạn có thể thử tìm những plugin giúp bổ sung khả năng cache như Total Cache, Super Cache,... để giúp cải thiện hiệu suất xem sao. Với trang web dần cồng kềnh và có nhiều lượt truy cập thì mình nghĩ đây là lúc để dần xây dựng mã nguồn Web riêng cho đúng với mục đích của bạn nhất và migrate sang, lúc này bạn sẽ có nhiều cơ hội để tối ưu hoá hơn và tuỳ ý sử dụng công nghệ mình muốn (như sử dụng Node.js, Go, Mongodb,...).

Share