Khi thiết kế hệ thống Mail, cần phải đưa ra quyết định sẽ cấu hình hệ thống như thế nào để có thể tối ưu hiệu năng, độ tin cậy, và tính mở. Định cỡ hệ thống là một phần rất quan trọng. Công việc định cỡ sẽ cho phép ta xác định được phần cứng và phần mềm sử dụng, thời gian phản hồi cho khách hàng. Định cỡ là một công việc khó khăn.
Nội dung dưới đây sẽ giới thiệu các phương thức định cỡ cơ bản, có thể giúp chúng ta đưa ra các quyết định về thiết kế cho các thành phần xử lý của hệ thống thư điện tử.
Nội dung trình bày gồm có:
Thu thập cỡ của dữ liệu
Sử dụng giả lập
Tính toán hiệu năng hệ thống
Xây dựng kiến trúc đấu nối.
Do mỗi đề án phát triển hệ thống sẽ có các yêu cầu đặc thù, nên ta sẽ không đi vào các thông tin quá cụ thể, mà sẽ đi vào các phương pháp sẽ thực hiện khi tiến hành định cỡ.
2.1.1.1 Thu thập kích cỡ dữ liệu:
Phần này sẽ xác định kích cỡ dữ liệu cần để định cỡ hệ thống. Những nội dung liên quan bao gồm:
Xác định cường độ giờ cao điểm
Khởi tạo khái lược sử dụng
Xác định mức sử dụng cơ bản.
Xác định cƣờng độ giờ cao điểm: Cường độ giờ cao điểm là con số các giao dịch đồng thời lớn nhất đối với hệ thống thư điện tử trong một giai đoạn cao điểm trong ngày. Cường độ có thể thay đổi từ hệ thống này sang hệ thống khác tùy theo lớp khách hàng sử dụng. Cần cân nhắc các điểm dưới đây khi phân tích giờ cao điểm:
1. Xác định khi nào là giờ cao điểm và khoảng thời gian bao lâu
3. Khi ta xác định cường độ giờ cao điểm với hệ thống của mình, cần chắc rằng hệ thống đang triển khai có thể đáp ứng cường độ này.
2.1.1.2 Khởi tạo khái lƣợc sử dụng:
Khái lược sử dụng xác định các nhân tố như phần mềm, ứng dụng trên hệ thống máy phục vụ thư điện tử.
Nội dung dưới đây sẽ giúp ta khởi tạo khái lược sử dụng để ước lượng tổng tải trên hệ thống dự định phát triển. Để khởi tạo khái lược sử dụng, cần trả lời các câu hỏi sau:
1. Số người sử dụng trên hệ thống?
Khi đếm số người sử dụng trên hệ thống, không chỉ tính những người sử dụng có account và đang truy nhập hệ thống, mà cả những người sử dụng hiện không truy nhập. Thông thường, số người đang sử dụng và người đang không sử dụng là khác nhau:
Với những hệ thống nhỏ cỡ vài ngàn người sử dụng, đôi khi không cần tiến hành chiến lược định cỡ. Chỉ cần xây dựng một hệ thống mang tính chất tương đối(ví dụ dùng 01 Server để đáp ứng vài ngàn hộp thư) là dịch vụ có thể khai thác được.
2. Có bao nhiêu kết nối trên hệ thống trong giờ cao điểm với các truy nhập bằng dịch vụ POP/IMAP/Webmail?
Đặc biệt, cần chú trọng số kết nối đồng thời, số kết nối nhưng không khai thác, số kết nối có khai thác gửi nhận thư mà hệ thống có thể hỗ trợ. Để xác định số các kết nối đồng thời trên hệ thống đang triển khai, thực hiện các bước sau:
a. Đếm số kết nối TCP sử dụng lệnh netstat của nền tảng unix
b. Thu được lần truy nhập và thời gian thoát sau cùng của các người sử dụng đối với Webmail hoặc IMAP4.
Một vài lựa chọn sau đây sẽ có lợi cho các hệ thống nhiều người sử dụng:
Đặt các người sử dụng có khai thác và người sử dụng không khai thác vào các máy khác nhau.
Nếu một người sử dụng có khai thác trở thành một người sử dụng có khai thác, người sử dụng có thể được chuyển đến một máy dành cho người có khai thác, phương án này sẽ giảm thiểu đòi hỏi tăng phần cứng.
ước lượng trên hệ thống thư điện tử vào các thời điểm.
Một người sử dụng có thể tạo nhiều phiên truy nhập IMAP, trong khi một người sử dụng POP hay Webmail chỉ có một kết nối cho mỗi máy khách. Hơn nữa, vì kết nối POP và Webmail kết nối tới máy phục vụ, lấy dữ liệu, ngắt kết nối, thể hiện dữ liệu, lấy các dữ liệu từ người sử dụng, sau đó kết nối lại vào máy phục vụ, điều này khả thi với những người sử dụng có khai thác với POP và Webmail truy nhập dịch vụ mà không cần kích hoạt kết nối tại thời điểm đó. Kết nối bận là kết nối đang trong quá trình xử lý. Một ví dụ kết nối bận là một máy phục vụ Mail đang xử lý câu lệnh mà một client vừa gửi, máy phục vụ mail sẽ gửi trả lời tới client.
2.1.1.4 Chọn lựa kích thƣớc dữ liệu - Phân biệt ngƣời sử dụng bởi lớp dịch vụ:
Ta có thể chia các cộng tác viên, nhà quản lý, và các giám sát trên các máy với các khoảng lưu trữ khác nhau cho mỗi lớp dịch vụ, các đặc quyền khác nhau, và các dịch vụ đặc thù. 1. Tổng dung lượng lưu trữ cho mỗi hộp thư là bao nhiêu? Khi giới hạn tổng dung lượng của mỗi hộp thư, ta cần ước lượng dung lượng sử dụng thực của mỗi hộp thư.
2. Bao nhiêu thư điện tử từ Internet đến hệ thống? Số lượng thư có thể giới hạn theo từng giây trong giờ cao điểm.
3. Bao nhiêu thư điện tử được gửi bởi khách hàng tới: - Người nhận trên hệ thống của chúng ta?
- Người nhận trên Internet?
Các thư điện tử này được giới hạn số lượng theo từng giây trong giờ cao điểm. 4. Kích thước thư được phân phối trong khoảng nào?
Ví dụ:
- Nhỏ hơn 5KB, khoảng 10KB đến 100 KB, từ 100KB đến 500KB, từ 500KB đến 10 MB, hơn 10 MB
Kích thước của thư là đặc biệt quan trọng, vì nó ảnh hưởng đến tốc độ phân chia thư của MTA, tốc độ phân chia thư vào MSS, và tốc độ lấy thư về.
5. Hệ thống có cho phép sử dụng SSL không? Nếu có, bao nhiêu phần trăm người sử dụng dịch vụ này và kiểu khách hàng này là gì? Ví dụ, với các tổ chức đặc biệt, khoảng 20% các kết nối IMAP sẽ sử dụng SSL trong giờ cao điểm.
6. Hệ thống có sử dụng trình quét Virus hoặc một xử lý đặc biệt nào đó và điều này có áp dụng cho tất cả các người sử dụng?
Phụ thuộc vào cấu hình máy phục vụ lưu trữ, MTA sẽ cần quét tất cả các thư để tìm ra các điều kiện đặc biệt về sử lý, do đó làm tăng tải hệ thống.
2.1.1.5 Định nghĩa mức ngƣời sử dụng cơ bản:
Khi ta thiết lập khái lược sử dụng, ta so sánh nó với mức người sử dụng cơ bản được mô tả ở phần dưới. Một mức người sử dụng cơ bản tạo ra kiểu của thư điện tử dựa trên một quá trình vận hành với một khoảng kích thước thư mà người sử dụng gửi và nhận. Thư điện tử sẽ có một trong năm kiểu cơ bản:
Mức POP nhẹ
Mức POP nặng
Mức IMAP nhẹ
Mức Webmail vừa.
Mẫu người sử dụng cơ bản được mô tả trong phần này được tổng hợp từ đặc thù người sử dụng. Khái lược đặc thù có thể không đúng hoàn toàn với mức người sử dụng cơ bản. Ta có thể sử dụng một số kiểu khác nhau khi làm mô phỏng.
Mức POP nhẹ: Một mức POP nhẹ gồm có các khách hàng quay số(dialup) với yêu cầu gửi nhận thư đơn giản. Mỗi kết nối loại này sẽ gửi khoảng dưới 5 thư một giờ. Có những khách hàng đọc và xóa toàn bộ các thư của họ trong mỗi phiên kết nối. Hơn nữa, có những người sử dụng soạn và gửi vài thư cho chỉ một người nhận. Khoảng 80% các thư là nhỏ hơn 5KB và khoảng 20% là bằng hoặc lớn hơn 10KB.
Mức POP nặng: Mức POP nặng gồm có các khách hàng băng thông rộng hoặc các khách hàng doanh nghiệp có nhu cầu nhận và gửi thư nhiều hơn mức POP nhẹ. Nhóm người sử dụng này sử dụng các kết nối xDSL để truy nhập tới nhà cung cấp dịch vụ. Mỗi kết nối đồng thời sẽ gửi khoảng 6 thư/giờ. Thư sẽ có trung bình hai địa chỉ nhận trở lên. Khoảng 65% các thư có dung lượng nhỏ hơn hoặc bằng 5 KB. Ba mươi phần trăm các thư có dung lượng trong khoảng 5-10KB. 5% thư có dung lượng lớn hơn 1MB. Ở một số người sử dụng, 85% xóa hết các thư sau khi đọc chúng, nhưng cũng có đến 15% người dùng để thư trên máy phục vụ và truy nhập nhiều lần trước khi xóa chúng. Một vài trường hợp, cùng một thư được tải về vài lần từ máy phục vụ.
Mức IMAP nhẹ: Một người sử dụng IMAP nhẹ là những khách hàng sử dụng các dịch vụ Internet băng thông rộng, bao gồm tất cả các dịch vụ cao cấp của thư điện tử như tìm kiếm và lọc thư. Người sử dụng loại này tương tự như người sử dụng POP nặng về kích thước thư, số lượng người nhận, và số lượng thư gửi nhận trong một phiên kết nối. Người sử dụng IMAP nhẹ thường kết nối trong khoảng 4 giờ và xóa hầu hết thư trước khi thoát ra. Vì vậy, các thư sẽ được đưa vào hộp thư trong suốt phiên truy nhập, nhưng người dùng thường không lưu quá 20-30 thư trong hộp thư. Hầu hết các hộp thư chứa không quá 10 thư.
Mức IMAP vừa: Mức IMAP vừa dùng cho những người sử dụng chuyên nghiệp với các phiên truy nhập dài 8 tiếng 1 ngày. Một số người dùng gửi, nhận và lưu trữ một số lượng thư lớn. Hơn nữa, có những người dùng sử dụng không hạn chế hoặc sử dụng hạn mức đĩa rất lớn. Hộp thư của họ chứa số lượng lớn thư và tăng nhanh từng ngày. Thư của họ thường xuyên đến hộp thư và được duyệt nhiều lần mỗi giờ. Có những người dùng gửi thư với trung bình bốn địa chỉ đến và có những thư với kích thước tương đương POP nặng và IMAP nhẹ.
Mức Webmail vừa: Mức Webmail vừa tương đương với mức IMAP vừa. Người dùng mức này có kích thước thư tương đương kích thước thư của người dùng mức IMAP vừa và POP nặng. Tốc độ gửi và nhận thư cũng tương đương với IMAP vừa.
Nếu hệ thống có nhiều mức sử dụng trong cùng một tổ chức, thường là do ta chấp nhận nhiều tùy chọn cho các truy nhập. Như vậy ta cần mô phỏng theo các hạng khác nhau để tính toán thiết bị.
2.1.1.6. Định lƣợng hiệu năng hệ thống
Khi chúng ta đánh giá phần cứng của chúng ta bằng công cụ thử tải, cần truy nhập để kiểm soát tải của hệ thống. Những nội dung sau đây cần quan tâm để cải thiện hiệu năng của hệ thống.
Sử dụng bộ nhớ trong
Tài nguyên CPU
Sử dụng bộ nhớ trong: Cần chắc chắn rằng hệ thống đã có đủ dung lượng bộ nhớ vật lý trên mỗi máy. Việc bổ sung thêm bộ nhớ có thể cải thiện hiệu năng của hệ thống và cho phép máy phục vụ chịu được tải cao trong giờ cao điểm. Khi không có đủ bộ nhớ, máy phục vụ sẽ hoạt động không hiệu quả vì phải hoạt động cơ chế hoán đổi bộ nhớ.
Tối thiểu bộ nhớ dành cho 1 CPU của các hệ thống thư điện tử nên có là 1GB. Nhưng trong hầu hết các triển khai, dung lượng RAM dành cho một CPU(ví dụ SPACK) là 2GB.
Vào ra của đĩa: Tốc độ vào ra của đĩa thể hiện qua việc dữ liệu chuyển đổi từ bộ nhớ trong sang đĩa và từ đĩa sang bộ nhớ trong như thế nào. Tốc độ này có thể ảnh hưởng lớn đến hiệu năng của hệ thống. Để có hiệu quả cao trong tốc độ vào ra của đĩa cần quan tâm:
Cân nhắc quá trình bảo trì và vận hành, đảm bảo chúng ta có đủ băng thông cho quá trình sao lưu dữ liệu. Dự phòng dữ liệu có thể rất tốn băng thông mạng nếu dự phòng từ xa và ảnh hưởng đến quá trình cung cấp dịch vụ. Sao lưu cục bộ có thể là một lựa chọn tốt.
Khi chia các partition cần chú ý chia hợp lý để cải thiện tốc độ vào ra.
Cần thực hiện cơ chế Raid(Redundant Array of independent Disks) với các hệ thống lớn.
Phân bổ dữ liệu trên nhiều đĩa để tăng tốc độ đọc và lấy dữ liệu, khai thác hiệu quả các đầu đọc.
Nếu sử dụng cơ chế Raid mềm(dùng CPU để điều khiển Raid), thì cần phân bổ đủ CPU để thực hiện Raid.
Chúng ta cần kiểm soát tổng số vào ra trên 1 giây, và thời gian phản hồi của đĩa không được lớn quá 10 mili giây.
Dung lƣợng đĩa: Khi ta lập phương án đối với dung lượng đĩa, cần chắc chắn rằng đã tính toán đến dung lượng đĩa cho cả hệ điều hành, phần mềm thư điện tử, và phần lưu trữ thư. Sử dụng tủ đĩa ngoài là một phương án nên triển khai. Đối với hầu hết các hệ thống, đĩa ngoài cần hiệu năng cao và khả năng mở rộng lớn vì với những hệ thống lớn cần các giao diện quang với tốc độ vào ra có thể lên đến hàng chục thậm chí hàng trăm Mbps.
Dung lượng đĩa cũng một phần do chính sách về hệ thống.
Tốc độ mạng: Tốc độ vào ra của mạng là tổng số dữ liệu tại một đơn vị thời gian có thể luân chuyển qua hệ thống mạng giữa các máy trạm và máy phục vụ. Khi một máy phục vụ trên mạng không đáp ứng yêu cầu của máy trạm, máy trạm sẽ tìm cách chuyển lại yêu cầu sau một khoảng thời gian. Mỗi lần chuyển lại yêu cầu như vậy sẽ làm tăng tắc nghẽn mạng. Cần giảm thiểu số lần chuyển đi chuyển lại yêu cầu bằng cách cải thiện tính toàn vẹn của dữ liệu, hiệu năng hệ thống và tránh tắc nghẽn mạng:
Để tránh nghẽn cổ chai, cần đảm bảo hạ tầng mạng đủ sức chịu tải.
Phân mạng của chúng ta cần có tốc độ mạng giữa các máy phục vụ và chuyển mạch là 100Mbps và tốc độ 1Gbps cho các chuyển mạch của mạng trục chính.
Để đảm bảo năng lực lưu trữ có thể đáp ứng trong tương lai, cần tránh dùng các giá trị tính toán lý thuyết không có kiểm chứng trong khi cấu hình hệ thống.
Chia tách các lưu lượng ra các phân mạng khác nhau sẽ giảm thiểu xung đột và tắc nghẽn mạng, góp phần tối ưu hóa băng thông sử dụng.
Tài nguyên CPU: Cần đảm bảo đủ tài nguyên CPU cho các máy phục vụ lưu thư, máy MTA, các máy phục vụ khác như WebMail. Hơn nữa cần bố trí đủ năng lực CPU để khi cần có thể khai thác cơ chế Raid.