Bỏ wp vì quá ysl. Cần phương pháp thay thế

Discussion in 'Thảo Luận Chung' started by tranthetai, Jul 4, 2022.

  1. no-reply

    no-reply Bang Chúng

    E cũng ko phải dân it nên lót tông lào ngồi hóng b share. ko biết mẹo ở đây là cách tổ chức, cách tối ưu db hay là giới thiệu các search engines như es, solr, algolia, sphinx etc. Chủ đề kiểu này rất nhiều ae quan tâm.
     
  2. can

    can Khách Qua Đường

    nói 1 triệu với 1 tỷ mà search giống nhau thì hơi quá nhưng ý muốn nói là nhanh và trong khoảng chấp nhận được.
    ví dụ: search thì mình sẽ ko sort và mặc định theo kết quả trả về của mysql + không đếm tổng số kết quả để phân trang mà chỉ cần biết có page tiếp theo để next hay không và thường index là chỉ trường title nó ko quá 200 ký tự và đánh full text search cho trường title này
    --- Double Post Merged, Jul 6, 2022, Original Post Date: Jul 6, 2022 ---
    mỗi lần search e show 20 kết quả/ trang thực tế trong database e lấy 21 kết quả/ trang. và nếu có 21 kết quả chứng tỏ có thêm trang tiếp theo và hiển thị button next + nếu page > 1 thì tức là có hiển thị butotn previous
    --- Double Post Merged, Jul 6, 2022 ---
    ví dụ đang ở page thứ 10 thì giả sử kết quả thứ 21 có id là 100000 thì câu query tieps theo là mình sẽ lấy 21 bản ghi và có title like "%text%" and id >= 1000000. mọi người cứ thử xem nó có nhanh không
     
  3. money

    money Hương Chủ

    @can haha cách này anh đã từng làm trên db 300M rows. Với keyword mà nó trả về kết quả trong 1,2 lần search đầu tiên thì cũng tạm được. Nhưng vẫn nhiều key nó cần 4-5 lần search mới ra kết quả sẽ chậm hơn. Tóm lại db to thì cứ sang ES mà xài, bao nhanh.
     
  4. noenmo

    noenmo Sơ Nhập Giang Hồ

    Câu cú lủng củng quá, không hiểu bác nói gì.
    Vậy mới nói là MySQL không nên dùng để search bác ạ.
     
    Last edited: Jul 6, 2022
  5. command

    command Bang Chúng

    @money Lúc nãy e đọc bài này thì e nhớ có ai nói về tip này cách đây cũng vài năm trong forum này, nãy giờ tìm thử mà vẫn chưa ra thread đó. Cách này nói về làm sao phân trang tốt thì đúng hơn, chứ đâu nói về search nhiều. Tuy nhiên, nếu chúng ta để ý thì SE rất hiếm khi vào trang thứ 2 trở đi hơn so với các trang ko có phân trang, tương tự là users. Do đó, mấy sites của e chỉ toàn ra kết quả 1 trang, vậy là xong, ko cần làm phức tạp để giải quyết vấn đề.
     
    money and can like this.
  6. noenmo

    noenmo Sơ Nhập Giang Hồ

    Search của bác không có ý nghĩa thực tiễn.
     
    command likes this.
  7. money

    money Hương Chủ

    Yes, vài năm trước anh có share cách này và đúng là hồi đó share trong bài về phân trang sao cho nhanh (ko nhớ là share trên 4rum hay trên group FB vì khá lâu rồi)

    Tuy nhiên anh cũng dùng cho search nữa. Đúng ra thì anh query như vậy vài lần, filter ra results rồi anh còn xử lý thêm và tạo thành 1 article xong cache luôn lại để bot vào index cho nhanh (tức là anh tạo article bằng search query trước rồi mới publish ra cho bot đọc, chứ anh ko dùng để làm cái search bar trên web vì cách này vẫn rất chậm nếu so sánh với ES)
    --- Double Post Merged, Jul 6, 2022, Original Post Date: Jul 6, 2022 ---
    @command vấn đề của cách làm kia là search trên dải id càng lớn nó càng chậm. Muốn nhanh thì dải id tầm 20tr là ổn (tuỳ cấu hình server). Nhưng kết quả show ra của page đầu (id từ 0 đến 20,000,000) chưa chắc đã là kết quả tối ưu để ranking.
     
    noenmo and command like this.
  8. command

    command Bang Chúng

    Anh kỳ công nhé, như vậy hèn gì ít tốn tài nguyên server. Còn e thì cứ để realtime search cho ES xử lý và chỉ trả về 1 trang, ko làm trang 2,... Hiện tại site nhiều posts khoảng 12M posts thì ES trả kết quả trong 30-50ms (chỉ tính thời gian phản hồi giữa client và ES thui nhé, ko tính phần xử lý của PHP,...).
     
    noenmo likes this.
  9. money

    money Hương Chủ

    ES thì bao nhanh rồi. Db hơn 300M sau này anh cũng cho sang ES, đa số query chỉ tính bằng ms.
     
  10. EDM

    EDM Sơ Nhập Giang Hồ

    cái này hình như plugin wp-rocket nó support sẵn bác https://wp-rocket.me/blog/wp-rocket-3-7/
     
    firefox likes this.
  11. thitgaluoc

    thitgaluoc Hương Chủ

    vừa mới thấy 1 site wp có 1,9M post, chứng tỏ nó cũng k ysl lắm đâu các bác ạ
    nhưng mà trên con số đó thì nên kiếm giải pháp khác thật
     
  12. automan

    automan Hương Chủ

    hỏi bác @Quangsilic xem, thấy site bác ấy chạy wp mấy trăm nghìn post rồi mà nhanh lắm.
     
  13. Quangsilic

    Quangsilic Khách Qua Đường

    Vâng, site em đang chạy khoảng 150k post.
    WordPress. Do nội dung chỉ là text, không có hình ảnh, nên cũng khá nhẹ.

    Hosting 4 CPU, RAM 8GB, local US của Hetzer nha các bác.

    Em có dùng WP Rocket và Panel aaPanel.
     
    Last edited: Jul 17, 2022
  14. command

    command Bang Chúng

    bác @Quangsilic có thể chia sẻ thông số tốc độ Googlebots crawl urls trong GSC settings và thông số Core Web Vitals của mobile và desktop với VPS và site đó được ko? Mình thắc mắc VPS Hetzer ở US phản hồi thế nào :)
     
  15. Quangsilic

    Quangsilic Khách Qua Đường

    Vâng, để em vào mò, rồi chụp hình gửi bác xem thử nhé
     
    command likes this.
  16. takeda

    takeda Khách Qua Đường

    Cấu hình này cũng là khá cao cho nhu cầu chạy web theo quan điểm cá nhân của mình, vậy nên chuyện wordpress tải được 150k có vẻ chứng tỏ hiệu năng không thực sự tốt.

    Quan trọng nhất là cache nếu sử dụng framework chậm chạp, đó là mấu chốt để các framework như wordpress cân được vài nghìn tỉ post như tham nhũng cũng được ấy chứ.
     
  17. Quangsilic

    Quangsilic Khách Qua Đường

    Tốc độ Googlebots, thông số Core Web Vitals Mobile + Desktop đây bác ạ.
     

    Attached Files:

    command likes this.
  18. command

    command Bang Chúng

    Thời gian phản hồi của VPS ở US cao thế bác? Trung bình site bác 2,300ms cao lắm đó bác. Ngoài ra bác nên tối ưu Core Web Vitals cho mobile và desktop, nếu pass thì ranking keywords sẽ tốt hơn đó.

    Site 2 tháng tuổi của mình đây, site này đặt trên server cùi nhất AX41-NVMe của Hetzner ở Finland:

    Screen Shot 2022-07-17 at 15.41.56.png
     
  19. Quangsilic

    Quangsilic Khách Qua Đường

    Ô, còn của bác xịn vãi :)
     
  20. noenmo

    noenmo Sơ Nhập Giang Hồ

    Của em cần cải thiện nhiều đấy, năm ngoái khi bắt đầu tập trung để tối ưu tộc độ, anh có cậu em làm web khoảng 40m records mà trong crawl stats, avg response time chỉ khoảng 30-40ms.
    Core vitals thì anh không có screenshots nhưng thấy bảo 100 điểm hết; FCP, speed index chỉ khoảng 1-1,3s
     

    Attached Files: