Nhờ AE tư vấn giải pháp

Discussion in 'Server - Vps - Hosting - Domain' started by laogiavn, Oct 21, 2021.

  1. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    Hiện tại e đang chạy VPS của Netcup với cấu hình như sau
    • AMD EPYC™ 7702
    • 32 GB DDR4 RAM (ECC)
    • 6 dedicated cores
    • 800 GB SSD
    • Remote console etc.
    Giờ site e giờ cao điểm tầm 1k7 user online là hay quá tải mysql nên e đang có 2 hướng
    1. Upgrade lên gói cao hơn sử dụng 10 dedicated cores.
    2. Tạo Snapshot sử dụng cân bằng tải của nginx.
    3. Đổi sang Hetzner để chịu tải khoẻ hơn.

    E đang muốn nghiên về hướng thứ 2 để có chi phí rẻ hơn và sau có thể tạo thêm snapshot để chịu tải. Các bác cho e lời khuyên với.
     
  2. Cái bang

    Cái bang Sơ Nhập Giang Hồ

    mysql chỉ chạy trên 1 core. Nên có nâng cấp thêm core cho VPS thì vẫn thế. Giải pháp là sử dụng các tầng cache khác để giảm query cho mysql thôi.
     
  3. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    Hiện tại e đang dùng Redis cache bác tư vấn thêm cho e xem cache thêm tầng nào nữa với ạ
     
  4. longthanh

    longthanh Khách Qua Đường

    bác sài WP hay gì mà cấu hình như vậy còn quá tải nhỉ, nhiều lúc chưa dùng hết công năng của VPS ấy bác.
     
  5. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    E hiện tại đang dùng FW Phalcon
     
  6. firefox

    firefox Bang Chúng

    cấu hình này khá cao rồi mà, bác nên xem kỹ phần cache ở các mức độ sau:
    - CDN
    - Nginx
    - Mem cache / PHP
    - Db index
     
    laogiavn likes this.
  7. longthanh

    longthanh Khách Qua Đường

    à là PHP thì mình ko rành, cấu hình vậy là cao rồi, mình nghĩ b tối ưu sql query với index cho db, thêm cache như các bác kia gợi ý. Như mình dùng Node.js chạy web trên con Vultr 2 core 4GB mà dùng chưa bao giờ vượt 50% CPU (trừ khi bị ddos) :D
     
    Last edited: Oct 21, 2021
    laogiavn likes this.
  8. money

    money Hương Chủ

    1. Quá tải là như thế nào? Em không có hình ảnh/thông tin gì hết thì cũng khó để biết mà tư vấn
    2. Nếu chưa có kinh nghiệm tối ưu thì nâng cấp server không hẳn là giải pháp tốt
    3. Nếu việc quá tải làm ảnh ưởng thu nhập thì nâng cấp server là nhanh nhất và tốt nhất. Có vẻ mâu thuẫn với số 2 nhưng làm gì thì cũng phải nghĩ đến tiền. Một website chạy mượt mà, truy cập nhanh sẽ tăng thu nhập đáng kể (nếu làm CPC, CPM, aff ...). Thu nhập tăng thêm này so với số tiền bỏ ra nâng cấp thì vẫn lời hơn nhiều.
     
  9. Tạ hơi nặng

    Tạ hơi nặng Bang Chúng

    Em wordpress 500k post dùng con vps 20 euro hetzner, mặc dù chẳng biết tối ưu gì k biết nó có lỗi gì ko, k biết triệu post nó sẽ ntn
     
  10. firefox

    firefox Bang Chúng

    wp nếu không tinh chỉnh gì, 1tr post nó đơ đơ lơ tơ mơ đấy bác. Code chay là chân ái, hehehe. Tinh ra mấy web auto quay đi quẩn lại có vài page: search, index, tag, post detail :D
     
    Tony Vu likes this.
  11. Tạ hơi nặng

    Tạ hơi nặng Bang Chúng

    Em biết code như bác thì tiền núi ah :D
    Giờ mất gốc rồi chịu trung thành vs wordpress vậy, chỉ e tối ưu đi; e cài mỗi supercache
     
  12. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    Site e tầm này khoảng 1K2 online lên cao tí nữa là %CPU mysql nó tăng cao quá a ạ. Trình của e còn kém nên khoản tối ưu server còn kém nên cũng ko biết hướng nào để tối ưu cho chuẩn.

    E đã cài 1 số thành phần
    Php Zend OPcache
    Cache: Redis
    Script : Phalcon
    CDN: Không
    Maria-DB: 10
    Data 20K post


    - Đã bật Slow Query Log nhưng cũng chẳng thấy câu lệnh nào querry nặng cả

    upload_2021-10-21_11-54-36.png


    upload_2021-10-21_12-0-12.png
     
  13. firefox

    firefox Bang Chúng

    các query vào cùng 1 thời điểm có giống nhau về parametter không, đã cache level nào chưa. Nếu query không nặng nhưng vẫn lên cao thì là do số lượng query nhiều thôi.
    cái này cache nhẹ nhẹ ở nginx nữa là vừa dễ làm, vừa đẹp. Mục đích là để giảm tải cho db, giảm luôn cả mấy cái phpfpm. Trong hệ thống thì DB là thứ mong manh dễ vỡ nhất.
    Mình đoán vậy thôi, muốn support sâu hơn thì phải check thêm nhiều yếu tố, mà check nữa là lộ site :D

    Lượng request này chia cho 20k bài viết thì cache time cỡ 5p thôi cũng sẽ thấy hiệu quả rõ rệt.
    Đọc thêm mấy này thử https://docs.nginx.com/nginx/admin-guide/content-cache/content-caching/
     
    Tony Vu, Nai, laogiavn and 1 other person like this.
  14. money

    money Hương Chủ

    1. Em chỉ có 134K visitors mà đến hơn 32M request --> chứng tỏ code chưa tối ưu --> nên kiểm tra lại.
    2. Giả sử code tối ưu rồi và bắt buộc phải request nhiều vậy thì nên nâng lên server riêng với SSD có I/O tốt để cải thiện thời gian query (vì các loại cache em dùng đã đủ tốt rồi)
    3. Em đang bật slowlog bao nhiêu giây? Theo anh nên cho xuống mức 2s (thậm chí là 1s) để kiểm tra thêm
    4. Chỉ 134K visitors mà em dùng đến 4TB traffic (và rất nhiều request) chứng tỏ site em làm ảnh hay đại khái thế --> cân nhắc dùng server có port 1Gbit/s hoặc cao hơn
    5. Đây là 1 con server Ax41 của Hetzner. Anh chạy có 2 site này là nhiều traffic và 1 số site khác nhỏ hơn. Anh không dùng cái gì khác, thậm chí không cache file html (tất cả đều query đến mysql). Lúc cao điểm (khoảng nửa đêm theo giờ VN - vì traffic của anh ở Mỹ nhiều) cũng chỉ khoảng 30% CPU usage và thông số load average khoảng 2.x (load average của em 4.x là hơi cao 1 xíu)

    upload_2021-10-21_12-45-13.png
    --- Double Post Merged, Oct 21, 2021, Original Post Date: Oct 21, 2021 ---
    6. Bổ sung thêm là em đã bật query cache cho mysql chưa? Nếu chưa thì thử xem. Cái này anh cũng không xài vì query của anh mỗi lần request là mỗi khác nên với anh nó không tác dụng. Với em thì có thể có. Đọc tiếng Việt cho dễ:
    Tối ưu MySQL bằng Query Caching - Công Ty TNHH 7Host Việt Nam
     
    Tony Vu, Nai and laogiavn like this.
  15. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    1. Các querry cùng thời điểm thì khác nhau.
    2. Em đang sử dụng proxy nginx bên veesp và đã set cache như bài a xmen rồi e chưa có kinh nghiệm tối ưu nên tí vọc thử link bác gửi xem sao.
    --- Double Post Merged, Oct 21, 2021, Original Post Date: Oct 21, 2021 ---
    3. E bật slowlog 1s nhưng các câu lệnh đc show ra đa số là order by random.
    4. E để vps ảnh 1 vps riêng nhưng cấu hình cho proxy chạy chung vps script (e đang sử dụng veesp để làm proxy hình như lad port 200mb)
    6. E đã bật rồi set file cache = 128mb.
     
  16. money

    money Hương Chủ

    Khả năng ở chỗ này. Nếu random thì xử lý khá dễ vì anh vẫn làm đó giờ. Đưa về xấp xỉ 0.0 giây. Cách làm đã có bài rồi em tìm lại đi.
     
  17. laogiavn

    laogiavn Sơ Nhập Giang Hồ

    A cho e xin keyword để tìm trong 4rum mình với ạ. E mới vào vọc chưa hết đc cả 4rum nên ko biết tìm kw nào để xem. :d
     
  18. money

    money Hương Chủ

    @laogiavn
    Select …. From …. Where id in (…)
    Chi tiết xong bài nhé
     

    Attached Files:

    laogiavn likes this.
  19. adinz

    adinz Tân Thủ Thôn

    cấu hình này là quá cao rồi. 1k7 online em chạy vultr 2 core vẫn cân được. bác xem cache lại xem.
     
    laogiavn likes this.
  20. laogiavn

    laogiavn Sơ Nhập Giang Hồ