Categories Chuyển host

Hạn chế thời gian downtime (gián đoạn) khi chuyển hosting bằng plugin

Hạn chế thời gian downtime khi chuyển hosting

Khi bạn chuyển hosting bằng plugin sẽ có một khoảng thời gian nhất định website không truy cập được (khi bạn đẩy dữ liệu lên hosting mới, dữ liệu càng lớn, thời gian gián đoạn càng nhiều). Vậy làm sao hạn chế tối đa ảnh hưởng của nó? Dưới đây tôi đề xuất một vài phương thức.

  • Chuẩn bị kỹ: bạn cần chuẩn bị thời gian rảnh rỗi để chuyển hosting. Trước khi chuyển nếu chưa chuyển bao giờ thì nên tìm hiểu trước.
  • Sử dụng các công cụ chuyên nghiệp: các công cụ chuyển hosting chuyên nghiệp giúp bạn giảm tối đa thời gian và lỗi có thể xảy ra trong quá trình chuyển hosting. Một vài plugin chất lượng về mảng này là Migrate Guru (miễn phí), All in one WP Migration (miễn phí với trang dưới 512MB, rất dễ dùng), Duplicator, SSH (thao tác dòng lệnh, không phải plugin, miễn phí, và có tốc độ cao nhưng đòi hỏi tìm hiểu nhiều về kỹ thuật). Ngoài ra phải kể đến công cụ trỏ DNS rất nhanh của Cloudflare, giúp giảm độ trễ lan tỏa DNS khi bạn đổi IP host cho tên miền. Tham khảo thêm bộ công cụ chuyển host ở đây.
  • Chuyển vào lúc ít ảnh hưởng đến người dùng nhất: mỗi website có một mô hình truy cập khác nhau. Ví dụ ngày thường thì ít truy cập nhưng thứ 7, chủ nhật lại nhiều hoặc ngược lại. Giờ giấc cũng vậy, đa số lượng truy cập tập trung vào ban ngày, nửa đêm và gần sáng sẽ ít hơn nhiều. Tùy vào mô hình truy cập của bạn như thế nào mà bạn chọn thời điểm chuyển host sao cho ít ảnh hưởng nhất. Bạn có thể dùng công cụ Google Analytics để biết mô hình truy cập của bạn chính xác nhất.
  • Tạm dừng quảng cáo nếu có: lúc chuyển host bật quảng cáo không có tác dụng gì (vì bị gián đoạn truy cập). Nhất là trên các trang có chi phí quảng cáo lớn, bạn có thể tạm dừng quảng cáo trong lúc trang bị gián đoạn.
  • Lựa chọn phương thức chuyển phù hợp: trên các website cỡ nhỏ (chẳng hạn dưới 3GB) dữ liệu, bạn có thể áp dụng đa dạng các phương thức chuyển host khác nhau, và thời gian cũng không chênh lệch nhau mấy. Thường sẽ mất khoảng 15 – 30 phút gián đoạn với lượng dữ liệu này (với mạng tải lên có tốc độ 3 – 5MB/s). Tuy nhiên trên các website lớn (chẳng hạn từ 7GB đổ lên), bạn nên chọn phương thức chuyển host thông qua cloud hoặc các hình thức giao tiếp trực tiếp giữa các máy chủ như cách Migrate Guru làm hoặc bằng câu lệnh SSH. Tại sao?

Nguyên nhân là vì với lượng dữ liệu lớn mà bạn sử dụng biện pháp tải dữ liệu về rồi up lên sẽ có 2 điểm yếu:

  • Tốn thêm thời gian đáng kể để tải về;
  • Tốc độ tải lên có khả năng không cao bằng việc hai máy chủ giao tiếp với nhau;
  • Chịu nguy cơ bị gián đoạn giữa chừng do đường truyền internet tại nhà riêng có vấn đề. Cái này dễ xảy ra, vì up 7 – 10GB dữ liệu có thể khiến bạn chờ đợi khoảng 1 – 2 tiếng đồng hồ.

Không nên xóa ngay dữ liệu của host cũ sau khi chuyển

Bạn nên giữ lại ít nhất một tuần dữ liệu ở host cũ. Nguyên nhân là vì có thể DNS chậm cập nhật và nó vẫn trỏ về host cũ trong vòng vài ngày trong một số trường hợp hiếm gặp nào đó. Khi ấy nếu đã xóa dữ liệu trên host cũ, một số người dùng sẽ thấy website không truy cập được…Một tuần là khoảng thời gian chắc chắn để tất cả các máy chủ và thiết bị cập nhật DNS mới.


Nếu tôi có website siêu lớn (30GB dữ liệu) làm thế nào chỉ bị gián đoạn trong 10 – 15 phút?

Nếu chuyển theo cách thông thường thì 30GB dữ liệu có thể tốn 5 – 10 tiếng để chuyển. Trên các website thương mại, chuyên nghiệp, thời gian gián đoạn này thật khó chấp nhận.

Mẹo để khắc phục như sau.

  1. Trong 30GB dữ liệu, website có lẽ đến 27 – 28GB là do ảnh và tài nguyên đa phương tiện khác, ý tưởng ở đây là bạn sẽ chỉ chuyển database, theme, plugin trước. Nó sẽ chỉ có khoảng 1- 3GB, và 10 – 15 phút là sẽ xong. Nhưng như thế thì website chuyển xong sẽ không hiển thị ảnh?
  2. Không, thế thì còn nói làm gì! Trước đó bạn tạo một subdomain dạng cdn.website-của-bạn.com để sao chép toàn bộ website gốc. Cái này là dạng clone nên sẽ rất nhanh (clone trên host cũ), mà thời gian tạo nó không làm gián đoạn website gốc.
  3. Sau đó dùng plugin CDN Enabler cài trên website gốc (lúc này đã chuyển sang host mới) rồi bật CDN (fake) cho ảnh là dạng subdomain vừa tạo ở trên xong. Trang gốc sẽ vẫn hiện ảnh do nó có CDN dạng subdomain hỗ trợ dù trang gốc không có ảnh nào ở thư viện media cả. Tất nhiên cái này chỉ là tạm thời.
  4. Tiếp đó bạn nén toàn bộ ảnh của thư viện media của website (vẫn đang nằm trên host cũ), tải về rồi up lên host mới để giải nén. Hoàn tất thì bạn bỏ cái CDN fake kia đi. Và website lại y nguyên như ban đầu.
  5. Vậy là website của bạn chỉ gián đoạn 15 phút mặc dù có đến 30GB dữ liệu cần chuyển!

Đây cũng là mẹo tôi thi thoảng dùng để tạo trang staging site trên các website quá lớn.

Một cách khác bạn có thể thử mà không cần dùng đến CDN subdomain fake, đó là chuyển lại DNS.

Tức là sau khi trỏ IP mới cho tên miền và sao chép thành công database, theme, plugin, vân vân (ngoại trừ thư viện media), bạn trỏ lại DNS của tên miền về IP của host cũ để nó truy cập bình thường. Tiếp đó bạn dành thời gian để tải ảnh lên host mới thông qua FTP (hoặc bất cứ công cụ nào khác không cần tên miền để chuyển dữ liệu, ví dụ như SSH). Cách này tôi thấy còn hay hơn việc dùng CDN dạng subdomain, vì nó đỡ mất công hơn và hiệu quả thì như nhau. Tất nhiên với cách này bạn phải sử dụng DNS có tốc độ cập nhật nhanh.

Back to Top