Trước tiên, nói rõ rằng kinh nghiệm của mình chủ yếu về web server (hay hệ thống web server gồm application server và database server - sau này có thể thêm storage server hay gì gì nữa) nên mặc dù cố gắng hết mức có thể để nêu ra những điểm quan trọng khi xây dựng bất kỳ hệ thống server nào, cũng không thể tránh khỏi những điểm bất hợp lý.
1. Hiểu nhu cầu của bạn cần gì.
Rất buồn cười là chả mấy người đã từng nhờ mình tư vấn lắp server hiểu rõ họ cần gì, đơn giản là họ cần một con server ? Server có rất nhiều loại phù hợp với các nhu cầu khác nhau, bạn muốn được tư vấn lắp một con server phù hợp thì bản thân bạn phải biết bạn muốn nó phù hợp cho nhu cầu gì cái đã.
2. Hiểu hạn chế của hệ thống hiện tại.
Nếu bạn đang có một hệ thống server đang hoạt động, phục vụ cho nhu cầu của bạn và bạn thấy rằng nó không đáp ứng được thì đây là điểm cực kỳ may mắn. Bởi chuyện lắp một cái server có cấu hình dự kiến là phù hợp đến đâu đi chăng nữa thì cũng sẽ tới lúc bạn thấy nó chẳng phù hợp lắm, thiếu cái này thừa cái kia là chuyện thường.
Để biết được hệ thống hiện tại có vấn đề ở chỗ nào, bạn nên biết sử dụng các công cụ theo dõi hệ thống, chủ yếu vấn đề nằm ở hai mảng: CPU bound (thiếu năng lực xử lý) và IO bound (thiếu năng lực đáp ứng dữ liệu)
Riêng IO bound thì có disk IO (liên quan đĩa cứng), mem IO (liên quan bộ nhớ, thường là thiếu chứ ít khi do chậm) và network IO (nghẽn mạng chẳng hạn)
Khi biết được vấn đề nằm ở đâu rồi thì giải quyết cực kỳ dễ dàng.
3. Nên tách biệt các nhu cầu đơn lẻ của một server.
Chuyện sử dụng một server cho nhiều dịch vụ khác nhau là rất phổ biến, nhất là đối với website nhỏ hay công ty nhỏ, do vậy nhu cầu lắp một cái server mạnh toàn diện cũng là dễ hiểu. Nhưng không phải vì thế mà cứ mua đại, quan trọng là bạn cần biết cái gì cần thiết cho dịch vụ gì. Lấy vài ví dụ:
- Cơ sở dữ liệu: Cái này nói chung cần bộ nhớ nhiều và đĩa cứng nhanh, nếu dung lượng DB quá lớn thì nên xác định xem hot data (phần dữ liệu thường xuyên làm việc) là khoảng bao lớn để tính phương án cache cho phù hợp.
- File server: Cần đĩa cứng lớn, nên dùng HDD thường, rẻ và đáp ứng tốt tốc độ đọc ghi sequential.
- Application server: Bộ nhớ đủ (không cần thừa) và CPU nhanh.
Khi tách biệt như vậy rồi, việc tổng hợp lại nhu cầu để ra một cấu hình phù hợp sẽ dễ hơn và thậm chí còn giúp ích cho việc sắp xếp dữ liệu khi triển khai hợp lý hơn.
4. Xác định hướng mở rộng.
Cái này cực kỳ quan trọng, rất nhiều người đi lắp server cứ phải chơi mobo 2 socket nhưng gắn 1 CPU đợi từ từ cần thì nâng cấp, kết cục là cả cuộc đời của cái server đấy chả bao giờ nhìn thấy con CPU thứ hai vì khi chưa cần tới nó thì đĩa cứng hay bộ nhớ đã không đáp ứng được rồi.
Hơn nữa, với tốc độ thay đổi công nghệ nhanh như hiện tại thì server sẽ nhanh bị lỗi thời, tới khi cần nâng cấp cũng khó mua đồ thay nữa.
Do vậy, lời khuyên chung cho việc nâng cấp là nên mua CPU đủ cho 12 tháng phát triển, bộ nhớ đủ để lắp thêm gấp đôi khi cần thiết và đĩa cứng thì nên để dư ra tối thiểu một slot. Nghe hơi nông dân nhưng nếu bạn cần phải nâng cấp vượt quá khả năng lắp thêm hay thay thế của server trong thời gian ngắn hơn vòng đời của hệ thống (theo mình là khoảng 3 năm) thì một là bạn quá keo lúc đầu tư ban đầu, hai là bạn phát triển quá nhanh (đồng nghĩa với việc nhiều tiền, chi ra mua server mới đi)
5. Nên ứng dụng công nghệ mới, nhưng với một thái độ dè dặt và nên có phương án dự phòng.
Công nghệ thay đổi nhanh đồng nghĩa với việc nó có thể giải quyết rất nhanh vấn đề của bạn nhưng cũng có thể nó sẽ cho bạn đi bán muối nếu không cẩn thận chơi phải cái công nghệ củ chuối.
Thế nên cái gì cảm thấy rất phù hợp thì nên ứng dụng ngay nhưng nên có phương án dự phòng.
Rất buồn cười là chả mấy người đã từng nhờ mình tư vấn lắp server hiểu rõ họ cần gì, đơn giản là họ cần một con server ? Server có rất nhiều loại phù hợp với các nhu cầu khác nhau, bạn muốn được tư vấn lắp một con server phù hợp thì bản thân bạn phải biết bạn muốn nó phù hợp cho nhu cầu gì cái đã.
2. Hiểu hạn chế của hệ thống hiện tại.
Nếu bạn đang có một hệ thống server đang hoạt động, phục vụ cho nhu cầu của bạn và bạn thấy rằng nó không đáp ứng được thì đây là điểm cực kỳ may mắn. Bởi chuyện lắp một cái server có cấu hình dự kiến là phù hợp đến đâu đi chăng nữa thì cũng sẽ tới lúc bạn thấy nó chẳng phù hợp lắm, thiếu cái này thừa cái kia là chuyện thường.
Để biết được hệ thống hiện tại có vấn đề ở chỗ nào, bạn nên biết sử dụng các công cụ theo dõi hệ thống, chủ yếu vấn đề nằm ở hai mảng: CPU bound (thiếu năng lực xử lý) và IO bound (thiếu năng lực đáp ứng dữ liệu)
Riêng IO bound thì có disk IO (liên quan đĩa cứng), mem IO (liên quan bộ nhớ, thường là thiếu chứ ít khi do chậm) và network IO (nghẽn mạng chẳng hạn)
Khi biết được vấn đề nằm ở đâu rồi thì giải quyết cực kỳ dễ dàng.
3. Nên tách biệt các nhu cầu đơn lẻ của một server.
Chuyện sử dụng một server cho nhiều dịch vụ khác nhau là rất phổ biến, nhất là đối với website nhỏ hay công ty nhỏ, do vậy nhu cầu lắp một cái server mạnh toàn diện cũng là dễ hiểu. Nhưng không phải vì thế mà cứ mua đại, quan trọng là bạn cần biết cái gì cần thiết cho dịch vụ gì. Lấy vài ví dụ:
- Cơ sở dữ liệu: Cái này nói chung cần bộ nhớ nhiều và đĩa cứng nhanh, nếu dung lượng DB quá lớn thì nên xác định xem hot data (phần dữ liệu thường xuyên làm việc) là khoảng bao lớn để tính phương án cache cho phù hợp.
- File server: Cần đĩa cứng lớn, nên dùng HDD thường, rẻ và đáp ứng tốt tốc độ đọc ghi sequential.
- Application server: Bộ nhớ đủ (không cần thừa) và CPU nhanh.
Khi tách biệt như vậy rồi, việc tổng hợp lại nhu cầu để ra một cấu hình phù hợp sẽ dễ hơn và thậm chí còn giúp ích cho việc sắp xếp dữ liệu khi triển khai hợp lý hơn.
4. Xác định hướng mở rộng.
Cái này cực kỳ quan trọng, rất nhiều người đi lắp server cứ phải chơi mobo 2 socket nhưng gắn 1 CPU đợi từ từ cần thì nâng cấp, kết cục là cả cuộc đời của cái server đấy chả bao giờ nhìn thấy con CPU thứ hai vì khi chưa cần tới nó thì đĩa cứng hay bộ nhớ đã không đáp ứng được rồi.
Hơn nữa, với tốc độ thay đổi công nghệ nhanh như hiện tại thì server sẽ nhanh bị lỗi thời, tới khi cần nâng cấp cũng khó mua đồ thay nữa.
Do vậy, lời khuyên chung cho việc nâng cấp là nên mua CPU đủ cho 12 tháng phát triển, bộ nhớ đủ để lắp thêm gấp đôi khi cần thiết và đĩa cứng thì nên để dư ra tối thiểu một slot. Nghe hơi nông dân nhưng nếu bạn cần phải nâng cấp vượt quá khả năng lắp thêm hay thay thế của server trong thời gian ngắn hơn vòng đời của hệ thống (theo mình là khoảng 3 năm) thì một là bạn quá keo lúc đầu tư ban đầu, hai là bạn phát triển quá nhanh (đồng nghĩa với việc nhiều tiền, chi ra mua server mới đi)
5. Nên ứng dụng công nghệ mới, nhưng với một thái độ dè dặt và nên có phương án dự phòng.
Công nghệ thay đổi nhanh đồng nghĩa với việc nó có thể giải quyết rất nhanh vấn đề của bạn nhưng cũng có thể nó sẽ cho bạn đi bán muối nếu không cẩn thận chơi phải cái công nghệ củ chuối.
Thế nên cái gì cảm thấy rất phù hợp thì nên ứng dụng ngay nhưng nên có phương án dự phòng.

0 nhận xét:
Đăng nhận xét