Thông thường, trên máy chủ chúng ta sẽ cài đặt các phần mềm và dịch vụ như: dịch vụ web (Apache, Nginx,…) và dịch vụ lưu trữ cơ sở dữ liệu (MySQL database) để vận hành các website cũng như các phần mềm kết nối từ bên ngoài. Tuy nhiên, các dịch vụ này có thể sẽ hoạt động không như ý muốn gây chậm máy chủ và chiếm nhiều tài nguyên khiến cho công việc cũng như website load chậm. Mắt Bão sẽ hướng dẫn các bạn chỉ với những thao tác đơn giản mà hiệu quả để đảm bảo máy chủ hoạt động với hiệu năng tốt nhất.

1.Tối ưu bên trong hệ thống các dịch vụ trên máy chủ.

giao diện khi dùng lệnh top -cgiao diện kiểm tra RAM bằng lệnh free -m

  1. Tối ưu Website
  1. Tối ưu hóa sử dụng Database
  2. Sử dụng MySQL hoặc MariaDB

MySQL và MariaDB miễn phí, dùng ít tài nguyên hệ thống nhưng nếu không cấu hình đúng cách Quý khách sẽ không thể tối ưu hệ thống cơ sở dữ liệu của Quý khách một cách tốt nhất. Trong tập tin cấu hình Quý khách có thể điều chỉnh như sau:

innodb_flush_log_at_trx_commit = 1

key_buffer_size = n

Đây là thông số quan trọng khi Quý khách sử dụng bảng MyISAM .Quý khách nên đặt giá trị này tương đương với 30-40% tổng dung lượng bộ nhớ của Cloud Server. Tuy nhiên, giá trị đúng nhất tùy thuộc vào kích thước indexes, mức tải và kích thước dữ liệu. MyISAM sử dụng bộ đệm của HĐH để làm bộ đệm cho dữ liệu cần truy xuất, hãy thử cho chạy thử website và sau đó có thể điều chỉnh lại cho phù hợp.

innodb_buffer_pool_size = n

Thông số này quan trọng khi dùng bảng InnoDB. Bảng dạng này nhạy cảm với kích thước vùng đệm hơn là MyISAM. MyISAM có thể làm việc bình thường ngay cả khi key_buffer_size lớn hơn kích thước dữ liệu. Vùng đệm của InnoDB dùng cho cả dữ liệu và indexes vì vậy không cần dành vùng nhớ thêm cho HĐH, Quý khách có thể cấu hình giá trị tương đương 70-80% tổng dung lượng bộ nhớ của Cloud Server nếu thật sự cần hiệu năng của Database mạnh nhất.

Viện tối ưu như vậy cần nhiều kinh nghiệm quản trị mới có kết quả tối ưu nhất.

  1. Sử dụng Microsoft SQL Server:

Nên chọn các phiên bản miễn phí và nên chọn phiên bản mới nhất. Các bản mới nhất thường có ưu điểm là bảo mật tốt hơn và hiệu năng tốt cao hơn – dĩ nhiên là cũng hơi tốn bộ nhớ và dung lượng đĩa cứng thêm một chút.

Để quản trị SQL Server, Quý khách nên cài đặt SQL Server Management ở máy tính các nhân để tiết kiệm tài nguyên server. Để cài đặt vui lòng tham khảo tại đây.

Nếu là Server website hãy tối ưu hiệu năng của Webserver:

Tối ưu Webserver luôn là việc làm thiết yếu để có thể cải thiện hiệu năng của website cũng như Server.

Các thành phần có thể tối ưu như sau:

Timeout

Chỉ thị “Timeout” được sử dụng để xác định số lượng thời gian Apache sẽ chờ một request GET, POST, PUT và ACKs trên đường truyền trước khi nó tự động ngắt khi thời gian nghỉ vượt quá giá trị này.

Thiết lập với giá trị 120. Tuy nhiên, nó được khuyến khích để thiết lập giá trị này thấp hơn nếu khách hàng của Quý khách có thời gian trễ thấp. Trong một số trường hợp, thiết lập chỉ thị này đến một giá trị thấp có thể gây ra vấn đề. Điều này rất phụ thuộc vào mạng và máy chủ của Quý khách thiết lập. Các tốt nhất là để thử nghiệm với các giá trị khác nhau để tìm một trong đó phù hợp với nhu cầu.

KeepAlive

Chỉ thị “KeepAlive” nếu để là “On”, cho phép kết nối liên tục trên máy chủ web. Đối với hiệu suất tốt hơn, nó được đề nghị để thiết lập tùy chọn này để “On” và cho phép nhiều request cho mỗi kết nối.

MaxKeepAliveRequests

Chỉ thị này được sử dụng để xác định số lượng requests cho phép mỗi kết nối khi tùy chọn KeepAlive trên được thiết lập để “On”. Khi giá trị của tùy chọn này được thiết lập để “0” có nghĩa rằng cho phép không giới hạn số lượng requests trên server. Để tăng hiệu suất máy chủ, nên cho phép không giới hạn số lượng requests.

KeepAliveTimeout

Chỉ thị này được sử dụng để xác định bao nhiêu thời gian, chỉ trong vài giây, Apache sẽ chờ đợi cho một request tiếp theo trước khi đóng kết nối. Khi một request đã được nhận, giá trị thời gian chờ quy định của “Timeout” chỉ được áp dụng.

Đối với các web server nhận được hơn 200 kết nối tại bất kỳ thời điểm nào, tôi thường để giá trị KeepAliveTimeout bằng “10” là một thiết lập tốt cho hiệu suất máy chủ. Giá trị này nên được giữ ở mức thấp như các socket sẽ được nhàn rỗi trong thời gian dài khác.

MaxClients

Chỉ thị này được sử dụng để xác định giới hạn về số lượng các tiến trình con sẽ được tạo ra để phục vụ request. Mặc định nghĩa là lên đến 512 requests HTTP có thể được xử lý đồng thời. Đây là một tham số điều chỉnh quan trọng về hiệu suất của máy chủ web Apache. Đối với hoạt động tải trọng cao, giá trị “512” được khuyến khích. Để sử dụng tiêu chuẩn, có thể thiết lập giá trị “256”.

MinSpareServers

Chỉ thị này được sử dụng để xác định số lượng tối thiểu của các idle process con cần được tạo. Một idle process trong đó là không xử lý một request. Nếu có ít hơn “MinSpareServers” idle process, thì process cha tạo ra con mới với tốc độ tối đa của 1 mỗi giây.

Thiết lập này phải phù hợp với bao nhiêu kết nối mới mong đợi mỗi giây. Giá trị MinSpareServers 10 là thích hợp cho các máy chủ nhận được lên đến 300 kết nối đồng thời.

MaxSpareServer

Chỉ thị này được sử dụng để xác định số lượng tối đa của các idle process con cần được tạo. Nếu có nhiều hơn “MaxSpareServers” idle process, thì process cha sẽ kill các process dư thừa và các process bổ sung này sẽ được chấm dứt. Giá trị idle là 15.

MaxRequestsPerChild

 

Tùy chọn này “MaxRequestsPerChild” được sử dụng để xác định số lượng requests rằng một process con cá biệt sẽ xử lý. Đặt chỉ thị này để “0” để có được hiệu suất tối đa và khả năng mở rộng cho các máy chủ.

Trên đây là những thao tác cơ bản để thiết lập và tối ưu lại hệ thống máy chủ Cloud Server.

Chúc các bạn thành công!

 

0 0 vote
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments