Yêu cầu thg 10 22, 2020 7:01 SA 150 0 2
  • 150 0 2
0

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

Chia sẻ
  • 150 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 CÂU TRẢ LỜI


Đã trả lời thg 10 22, 2020 7:33 SA
Đã được chấp nhận
+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 😄

Chia sẻ
Avatar tZoro @subhopefully
thg 10 22, 2020 7:39 SA

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 ạ.

Avatar Dương Mạnh Hoàng @duong.manh.hoang
thg 10 22, 2020 7:41 SA

@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

Avatar tZoro @subhopefully
thg 10 22, 2020 7:45 SA

@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 ạ.

Avatar Dương Mạnh Hoàng @duong.manh.hoang
thg 10 22, 2020 7:51 SA

@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

Avatar tZoro @subhopefully
thg 10 22, 2020 7:52 SA

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

Đã trả lời thg 10 22, 2020 8:11 SA
+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,...).

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí