giải pháp cho site nhiều user

Discussion in 'Thảo Luận Chung' started by lakazai, Jun 12, 2021.

  1. lakazai

    lakazai Tân Thủ Thôn

    hiện tại site của mình lúc cao điểm 2000 ccu, thỉnh thoảng còn bị ddos. đã upgrade cloudflare những thỉnh thoảng vẫn chậm, lúc chậm không biết nguyên nhân do ddos hay user làm quá tải server. cloudflare cũng có thông báo site bị ddos.hiện tại nó đang nghẽn ở đoạn php-fpm, nếu nâng lên nữa thì mysql báo lỗi "Too many connections", mình cũng đã cache query, file tĩnh bằng reverse proxy ở mức tối đa rồi.
    ae có kinh nghiệm chia sẻ về vấn đề này.
    thông tin em nó
    server: ubuntu 18.04 - 4 VCPU - 16 GBRAM
    php: 7.4 - pm = dynamic - pm.max_children = 250 - pm.start_servers = 100 - pm.min_spare_servers = 50 - pm.max_spare_servers = 150
    laravel: 8x
     
  2. Phan Thị

    Phan Thị Bang Chúng

    Cpu load bao nhiêu ? free ram cao không ?
    Nâng cái mysql connect lên và nâng php-fpm lên
    xem nó load nhiều cái gì thì cache cái đó vào .
     
    nguyennv123 likes this.
  3. no-reply

    no-reply Bang Chúng

    Đã từng làm qua nhiều dự án laravel. Bác bật opcache và dùng thêm redis đi. Bao nhanh bao mạnh. Nếu vẫn đuối quá thì tách hẳn database ra 1 node riêng cùng lan.
     
  4. lakazai

    lakazai Tân Thủ Thôn

    em vẫn đang làm và cảm thấy nâng bao nhiêu vẫn không đủ ấy :(
    em bất hết rồi ấy ạ, cache tất cả vào redis tất cả các route luôn, cache tối thiểu 1h mà cứ tầm 12h là lại chậm, có bị ddos. những em đang không phân biệt được do ddos hay do user tăng lên. 2000 ccu cũng không ít. CF đã bật under attack thì đỡ hơn nhưng thỉnh thoảng vẫn bị :(
     
  5. dev9x

    dev9x Sơ Nhập Giang Hồ

    khủng quá 2000 ccu
     
  6. thitgaluoc

    thitgaluoc Hương Chủ

    khủng thế thì đi thuê ông sysadmin nào về khám bắt bệnh cho, tự chữa nói chung mất thời gian, mà mất thời gian là mất tiền lol
     
  7. Thanh Nguyen

    Thanh Nguyen Bang Chúng

    2000 ccu là cỡ bn user realtime nhỉ?
    --- Double Post Merged, Jun 12, 2021, Original Post Date: Jun 12, 2021 ---
    Ak ngu quá. Các bác đừng chửi e. E vừa gg rồi nhé. 2000 ccu cũng bt thôi chứ chưa gọi là khủng đc. Với cái server đó mà quá tải đc thì do code chưa tối ưu rồi
     
  8. pipapipo

    pipapipo Sơ Nhập Giang Hồ

  9. money

    money Hương Chủ

    2000 ccu cũng ko phải quá nhiều, khả năng do code thôi.
    Nên cache từng phần lại sẽ giảm tải, giảm query đến db.
    Ví dụ: phần code phân quyền. User login thì mỗi user sẽ hiện menu khác nhau, post khác nhau … Nếu các thao tác này đều query db sau mỗi request thì sẽ rất tốn tài nguyên ——> phải sửa lại, cache những chỗ có thể để giảm request.
    Tương tự cho các phần khác. Có thể dùng các tool sql profiling để xem phần nào đang tốn tài nguyên nhất từ đó tìm cách xử lý (sẽ khá nặng về kỹ thuật, nếu thớt ko rành kỹ thuật thì khoai đấy). Mình cũng ko làm lavarel nên chỉ tư vấn dc chung chung vậy.