Tôi thấy hiện nay có rất nhiều bạn đang hiểu sai và sử dụng sai cụm từ “tối ưu hóa hệ thống máy chủ” (hoặc VPS), kể cả những bạn có kinh nghiệm làm việc với máy chủ lâu năm cũng vậy.
Tối ưu hóa hay còn gọi là “performance tuning” nên được hiểu là những điều chỉnh giúp hệ thống hoạt động tối ưu hơn, có nghĩa là sử dụng tài nguyên (CPU, RAM, Network, …) hiệu quả hơn để xử lý được nhiều công việc hơn, nhưng quan trọng nhất là vẫn nằm trong phạm vi khả năng của hệ thống được thiết kế chứ không vượt qua khỏi phạm vi này. Còn một khi đã vượt qua khỏi phạm vi khả năng của hệ thống được thiết kế thì nên gọi là overclocking – ép xung thì đúng hơn là tối ưu hóa.
Những công việc của tối ưu hóa có thể ví dụ như: cấu hình lại TCP/IP trong Linux kernel để việc đóng mở các socket nhịp nhàng hơn, hiệu quả hơn, giảm thời gian chờ vô ích để nhận connection mới nhanh hơn, nhưng không phải là ép kernel mở ra càng nhiều socket càng tốt. Tối ưu hóa là điều chỉnh lại cache và buffer hợp lý hơn, không để nhỏ quá cũng chẳng để to quá. Tối ưu hóa không chỉ là kỹ thuật mà còn liên quan đến chính sách và nguyên tắc nữa, ví dụ chỉ cài đặt những dịch vụ thực sự cần thiết để tiết kiệm tài nguyên cũng là tối ưu hóa rồi.
Do đó không nên ép một con VPS 2 GB RAM và 2 CPU chạy một website để phục vụ cho hơn 1.000 người online cùng lúc, dĩ nhiên hệ thống của bạn có thể sẽ vẫn chạy và website vẫn truy cập được đấy, nhưng lúc đó có hiệu suất hay không còn phải xem xét lại. Bạn ép một chiếc PC cũ chạy Games đồ họa nặng thì có thể là nó chạy được nhưng khi chơi có mượt không? Có sướng bằng chơi trên máy cấu hình cao với card đồ họa cao cấp không?
Yêu cầu đối với một System Engineer làm công việc tối ưu hóa là đảm bảo hệ thống phải phục vụ 1.000 khách hàng cùng lúc một cách hiệu quả như nhau, có nghĩa là khách hàng thứ 1 và thứ 1.000 phải duyệt website với tốc độ như nhau hoặc chênh không nhiều đối với trường hợp cung cấp dịch vụ website. Khi 1.000 khách cùng truy cập một trang hay sử dụng cùng một chức năng, ví dụ như search bài viết, thì chức năng đó phải được chạy gần như đồng thời và kết quả trả về cũng phải gần như cùng lúc, chứ không phải nhanh với người này, chậm với người kia, hoặc có người search được có người đứng luôn.
Trước đây tôi từng gặp nhiều bạn khoe thành tích là có thể cấu hình VPS 512 MB RAM chạy website cho 1.000 người truy cập được, dĩ nhiên việc này là có thể, đó là nếu như mỗi người khách truy cập chỉ xem trang chủ là chính, không phát sinh dữ liệu, không sử dụng các chức năng như search, … Nhưng nếu người khách nào cũng search, cũng xem tá lả và gửi dữ liệu lên ồ ạt thì sao? Dĩ nhiên là hệ thống sập ngay, trong trường hợp này thì việc cấu hình VPS không thể gọi là tối ưu hóa được.
Dịch vụ thiết kế Website giá rẻ và uy tín tại Đà Nẵng
Bookmarks