Tối ưu hóa hiệu suất máy chủ Apache - Pdf 18

Tối ưu hóa hiệu suất máy chủ Apache

Việc tối ưu hóa hiệu suất của máy chủ Apache có thể tạo nên sự khác biệt
về website của bạn và ấn tượng mà nó tạo ra, đặc biệt trên các site động.
Trong bài này chúng tôi sẽ giới
thiệu cho các bạn những vấn đề cơ
bản trong cấu hình và cài đặt, hai
lĩnh vực mà bạn có thể kiểm soát để
tối ưu hóa hiệu suất của máy chủ
Apache.
Việc đánh giá và cải thiện hiệu
suất
Apache được thiết kế để có được tốc
độ nhanh ở mức có thể. Mặc dù vậy,
khi các site trở nên phức tạp và nhu
cầu băng thông của kiểu kết nối khác nhau tăng lên, khi đó việc có được
hiệu suất tốt nhất trong một cài đặt Apache và website trở thành một vấn
đề quan trọng.
Việc nâng cao hiệu suất không có nghĩa là thực hiện những thay đổi để
đạt được những thành quả không đáng kể. Việc tiêu tốn hàng giờ hoặc
thậm chí nhiều ngày vào việc điều chỉnh một máy chủ cho một vài phần
trăm là hành động lãng phí thời gian. Vì vậy, bước đầu tiên là bạn cần
phải xác định máy chủ đang hoạt động của mình nhanh đến cỡ nào và
mức hiệu suất nói chung của nó ra sao để có thể cải thiện hiệu suất và
đánh giá được những thay đổi của mình.
Đây không phải là lần đầu tiên chúng tôi giới thiệu về việc test Apache.
Như được lưu ý ở trên, việc xác định thành phần nào trong các ứng dụng
web đang gây ra vấn đề - đặc biệt việc phân biệt xem liệu Apache hoặc
môi trường ứng dụng mà bạn đang sử dụng với các site động là rất khó
khăn. Việc nhận ra các vấn đề trong các ứng dụng động vượt ra ngoài
phạm vi của bài này, tuy nhiên chúng tôi sẽ giới thiệu cho các bạn một số

Môi trường host
Không quan tâm đến hệ điều hành, bạn hãy sử dụng nguyên lý tối ưu
dưới đây:
 Giữ các ứng dụng background ở mức tối thiểu. Nếu bạn thực sự
quan tâm đến vấn đề hiệu suất thì trước tiên cần phải xem xét đó là
một số quá trình hoạt động ở chế độ background. Cho ví dụ, trong
Unix, bạn nên tắt NFS, các dịch vụ in ấn và thậm chí cả sendmail
nếu không cần thiết. Trong Windows, sử dụng System control
panel để tối ưu hóa hệ thống cho các ứng dụng và cache hệ thống,
tối ưu hệ thống về hiệu suất. Chỉ cần bảo đảm rằng các ứng dụng
và các dịch vụ yêu cầu như MySQL vẫn đang chạy.

 Tránh sử dụng hệ thống. Nếu bắt đầu biên dịch các ứng dụng,
chỉnh sửa file hay sử dụng máy thì chắc chắn hiệu suất phục vụ
web của máy sẽ giảm. Do đó nếu bạn phải chỉnh sửa các thành
phần hoặc cài đặt phần mềm, hãy xây dựng hoặc chỉnh sửa các
thành phần trên máy tính khác sau đó copy chúng sau.

 Cần cập nhật liên tục hệ thống. Dẫu ý tưởng xuất phát từ quan
điểm bảo mật nhưng việc nâng cấp phần mềm và cập nhật các bản
vá cũng cải thiện đáng kể hiệu suất vào ra và hiệu suất mạng.
Ứng dụng Apache
Rõ ràng Apache cũng là một ứng dụng. Do đó đầu tiên cần bảo đảm nó
được xây dựng đúng chỉ với các modul và các thành phần mở rộng cho
các website. Điều đó có nghĩa rằng, cho ví dụ, bạn có thể bỏ qua các
model ghi lại nếu không cần thiết. Lợi ích chủ yếu của việc đó là giảm
được tải bộ nhớ, nhưng một lợi ích tốt nữa là bạn không thể kích hoạt vô
tình các tùy chọn và do đó làm giảm hiệu suất máy chủ.
Tĩnh và động
Khả năng linh hoạt là vấn đề chủ yếu của hầu hết các quản trị viên

sót chỉ thị hoặc thành phần cần thay đổi.
Nếu thực hiện bất kỳ kiểu tối ưu nào, hãy bắt đầu với một trong các file
cấu hình được cung cấp mặc định. Các file mày thường được lưu trong
thư mục cấu hình Apache dưới tên httpd.conf.orig hoặc httpd-std.conf.
Không nên sử dụng file high performance-std.conf; về lâu dài nó không
thực sự hữu ích như những gì bạn nghĩ khi bắt đầu thêm vào một số
lượng lớn các thông tin cấu hình bổ sung. Mặt khác, nếu mục tiêu của bạn
là một máy chủ web tĩnh, tốc độ thì đây chắc chắn là cách dễ dàng nhất
để bạn thực hiện được điều đó.
Nếu biết các chỉ thị cấu hình Apache, hoặc sẵn lòng nghiên cứu tài liệu,
bước hiệu quả nhất và nhanh nhất mà bạn nên làm là remove tất cả các
comment từ file cấu hình, vì chúng thường làm giảm uy tín các chỉ thị
thực. Bạn cũng có thể remove các tham chiếu đến các hệ thống MPM
hiện không sử dụng trên platform đã chọn.
Vô hiệu hóa các thành phần và hệ thống
Giờ đây chúng ta đã có một file cấu hình đơn giản, hãy bắt đầu remove
các thành phần cấu hình cho các hệ thống hiện không sử dụng. Cụ thể
như:
 HostnameLookups, thành phần thường sẽ thêm overhead vào mỗi
yêu cầu bằng cách yêu cầu tra cứu DNS trên máy khách, đầu tiên
quan sát để tìm tên từ địa chỉ IP, sau đó tra cứu để chắc chắn thông
tin đó không bị nhầm. Trong hầu hết các trường hợp, bạn có thể
đơn giản vô hiệu hóa. Nếu thường xử lý với các file bản ghi của
mình, bạn hãy sử dụng post-processing để xác định thông tin. Để
vô hiệu hóa các tra cứu, nhóm chỉ thị dưới đây HostnameLookups
off.

 Symbolic links, đây là thành phần khi kích hoạt, sẽ làm cho Apache
kiểm tra mọi yêu cầu để xác định xem liệu một liên kết tượng trưng
có liên quan trong yêu cầu hay không. Trừ khi bạn thực sự cần đến

chính mỗi khi bạn muốn thay đổi thứ gì đó. Tuy nhiên vấn đề ở đây là
việc sử dụng chúng sẽ làm chậm máy chủ của bạn.
Đầu tiên, máy chủ phải quan sát xem liệu file .htaccess có tồn tại hay
không, sau đó nó phải phân tích cú pháp và xử lý các thành phần này
trước khi sử dụng cấu hình cho thư mục đang được nói đến. Tồi tệ hơn,
Apache phải xác định thông tin này không chỉ cho thư mục hiện hành mà
còn cho cả các thư mục cha và sau đó phải tạo những thay đổi dựa trên
nội dung của tất cả các file này.
Mặc dù vậy, nếu muốn tối đa hóa hiệu suất, bạn nên vô hiệu hóa việc sử
dụng các file .htaccess. Bất cứ cấu hình thư mục cụ thể nào cũng đều có
thể đi vào file cấu hình chính, nơi nó có thể được phân tích cú pháp một
lần bởi Apache khi máy chủ bắt đầu.
Để vô hiệu hóa .htaccess thêm chỉ thị AllowOverride None và các phần
<Directory>.
Cấu hình MPM
Multi-Processing Module (MPM) cho phép một nền tảng cụ thể có thể
quản lý nhiều kết nối đồng thời. Các modul MPM cụ thể cho từng nền
tảng. Các giải pháp có sẵn làm việc một cách đặc trưng với Unix,
Windows, BeOS và NetWare. Với một số nền tảng thường có nhiều sự
lựa chọn. Đối với hầu hết người dùng, cấu hình mặc định cho môi trường
cụ thể nào đó làm việc khá tốt, đặc biệt khi việc có được các tham số
chính xác có thể là một nhiệm vụ tốn thời gian. Bằng cách so sánh, nhiều
kỹ thuật đã được mô tả có thể mang lại hiệu suất tốt hơn, tuy nhiên khi
muốn có được hiệu suất tối đa cho máy chủ của mình thì bạn vẫn phải
điều chỉnh cấu hình.
Dưới hầu hết các nền tảng chỉ có MPM, Unix có hai tùy chọn prefork và
worker. MPM prefork chia ra một số các quá trình Apache giống nhau,
còn worker tạo ra nhiều thread. Nói chung, prefork tốt hơn trên các hệ
thống với một hoặc hai bộ vi xử lý, nơi các hệ điều hành hỗ trợ tốt hơn
cho việc cắt nhỏ thời gian giữa các quá trình. Trên hệ thống có số lượng

cho CGI. Thậm chí khi có nhiều công việc hơn, các giải pháp này cũng
cho phép bạn giữ được các kết nối vững chắc với cơ sở dữ liệu hoặc có
thể lưu trữ các thông tin giữa các yêu cầu. Đây là một điều tuyệt vời cho
các site thương mại điện tử và cũng góp phần giảm overhead trong việc
load các thông tin giữa các yêu cầu.
Kết luận
Dù Apache là một ứng dụng có thể cấu hình và khá phức tạp nhưng thực
sự thú vị vì các cài đặt chuẩn của nó đạt được mức hiệu suất rất cao. Một
lĩnh vực mà ở đó bạn có thể dễ dàng cải thiện đáng kể hiệu suất bằng
cách điều chỉnh các tham số. Tuy nhiên không may thay, những tham số
mà bạn có ít kiểm soát bên trong Apache –ví dụ như các thành phần động
và các kịch bản CGI – lại là các tham số có ảnh hưởng lớn nhất về mặt
hiệu suất. Kiểm ta một máy chủ Apache điển hình, bạn sẽ thấy rằng thời
gian cho ứng dụng Apache để trả lời một kết nối và gửi dữ liệu trở lại chỉ
vài ms – tuy nhiên việc đợi cho nguồn dữ liệu đó có thể mất đến vài giây.
Tuy nhiên điều này không phải là việc chúng tôi nhấn mạnh hành động
tối ưu là vô nghĩa. Trong suốt quá trình làm việc một hàng thì số lượng
ms sẽ ngày một tăng lên. Quan trọng hơn nữa là bạn có thể làm sạch và
đơn giản hóa cấu hình Apache của mình từ đó giúp nó giảm được các
overhead quản trị hơn trong quá trình thực hiện.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status