Em hỏi chút về mysql master slave

Discussion in 'Hỏi Đáp Kỹ Thuật' started by laogiavn, Nov 18, 2021.

  1. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    E đang setup mô hình mysql master slave trên 2 vps
    Vps 1 (master) chứa site chính.
    Vps 2 (slave) chứa 3 4 site clone
    E đang gặp vấn đề là các site clone không update dc view lên master. Hiện tại e đang dùng phương pháp update ra 1 file txt chứa số lần view bài viết sau đó cứ 2h e insert vào master 1 lần nhưng số lượng viewer quá nhiều dẫn đến lúc insert làm quá tải mysql. Các B cho e giải pháp với.
     
  2. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Vps master của e bao tiền, dùng ở nhà cung cấp nào, loại gì, traffic thế nào, database nặng bao GB.
    Em cho biết các thông số nhé.
    Quá tải mysql thì cứ đập tiền vào là nhanh nhất.
     
  3. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    E dùng bên netcup gói 10 cpu ram 32gb bình thường e ko sao nhưng cứ update file txt vào là mysql của e nó lên tầm 300 400% nên e đang muốn hỏi xem có giải pháp nào update từ slave lên master mà không làm mysql load cao ko a ạ
     
  4. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Chưa hiểu e update file txt đó vào mysql bằng cách nào. Dùng ssh hay phpadmin, hay dùng cách nào.
     
  5. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    Dùng php hàm get file content
    E get từ slave lên để update vào mysql master
     
  6. sincos

    sincos Bang Chúng

    Dẹp vụ view đi. Nếu thực sự cần thiết thì dùng ajax hoặc build 1 hệ thống analytics độc lập.
     
    laogiavn likes this.
  7. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    E đang cần cái view này để set TOP các bài trong ngày :D không có nó cũng hơi dở
     
  8. Madkelele

    Madkelele Tân Thủ Thôn

    Chắc là bạn for-loop rồi get cái bài viết, rồi insert view à? Nếu vậy thì dùng bulk update thôi.
     
    laogiavn likes this.
  9. sincos

    sincos Bang Chúng

    Cái này dễ mà…. Dùng kết quả của google analytics mà xếp hạng.

    lấy top 100 rồi update. Còn lại cho 0 hết.
     
  10. xmenvn2510

    xmenvn2510 Moderator + MiddleMan Staff Member

    Check lại cái đó nhé. Code lởm lên tốn cpu đó.
     
    laogiavn likes this.
  11. RockSoft

    RockSoft Culi Manager Staff Member

    Bác cứ vớ vẩn nhé. View thì cứ random.next nhé :v
     
    laogiavn likes this.
  12. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    OK cảm ơn cả nhà e dùng bulk update đã giải quyết đc vấn đề. Trình code còn gà nên gặp lỗi :D
     
  13. command

    command Bang Chúng

    @laogiavn hãy nghiên cứu cách bác @sincos chia sẻ á, dùng API của Google Analytics. Bác tự + thêm view khi users hoặc bot xem link thì lượng write trên MySQL hơi nhiều đó, site ban đầu thì thế nào lượng bots vào cũng hơi khủng, đối với dữ liệu thì câu lệnh write tốn CPU, RAM và cả buff/cache trong quá trình write nữa. Tối ưu cái nào được thì tối ưu bác, nhờ Google Analytics lấy new views và popular views là chuẩn rồi.
     
    laogiavn likes this.
  14. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    trình e code còn gà nên e cứ save và count nó trong 1 file txt lấy nginx để gánh site e hiện tại cũng ít visit tầm 100K/day nên chưa cần có yêu cầu cao lắm :D
     
  15. Madkelele

    Madkelele Tân Thủ Thôn

    Thay vì dùng text file, có thể dùng Redis để performance tốt hơn.
    Hiện tại t cũng đang chạy cái vụ view như này:
    + 1 process riêng dùng để insert page view vô Redis, với key là id của bài đó, value là view, 1 lần gọi lên là update view thôi(nên tạo Redis db riêng cho cái page views thôi, ko xài chung với db khác, để query nhanh hơn)
    + 1 cronjob chạy cuối ngày, lấy từ Redis rồi insert vô Mysql.
    TOP ngày hiện tại thì cứ lấy dữ liệu của ngày trước đó thôi.
    Hiện tại thì thấy vẫn chạy ổn, với 4M page views/ngày(1 server thôi, ko có master-slave gì hết)
     
    laogiavn likes this.
  16. command

    command Bang Chúng

    Ôi, site giàu $ thế. 4M pageviews nếu ko tính bots thì cực thơm, dù tính bots thì users cũng khoảng 25% của 4M. 1 tháng bèo bèo cũng 15M unique users. Site khủng thế này thuộc thể loại truyện quá?
     
  17. Madkelele

    Madkelele Tân Thủ Thôn

    Haha, site được Gồ độ nhè nhẹ bác ah. Mà page views nhiều thôi, chứ unique users tầm 1/2 bác nói thôi.
     
  18. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    Để e thử nếu ko đc B help e nhé!
    --- Double Post Merged, Feb 28, 2022, Original Post Date: Nov 19, 2021 ---
    E đã cache viewer bằng redis server của e 32GB RAM không hiểu sao ram lại cạn kiệt và các prefix e đặt cho view nó tự xoá và ghi đè lên bác có bị tình trạng này ko ạ


    upload_2022-2-28_23-42-28.png
     
  19. VHS

    VHS Khách Qua Đường

    Bạn lưu key redis kiểu gì, mỗi post 1 key à
     
  20. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    vâng e lưu mỗi post 1 key :D e sợ lại lưu như txt nó trồng chéo lên nhau