it-swarm-vi.tech

Có bao nhiêu yêu cầu máy chủ web của tôi có thể xử lý?

Không đi sâu vào chi tiết cụ thể về thông số kỹ thuật vì tôi biết không có câu trả lời thực sự cho việc này. Nhưng tôi đã thực hiện kiểm tra tải ngày hôm nay với lệnh ab trong Apache.

Và đã đạt được số lượng 70 yêu cầu mỗi giây (1000 yêu cầu với 100 người dùng đồng thời), trên một trang đang tải từ 4 bảng DB khác nhau và thực hiện một số thao tác với dữ liệu. Vì vậy, nó là một trang khá nặng.

Hiện tại, máy chủ không được sử dụng cho bất kỳ thứ gì khác và tải cho nó chỉ là tôi, vì nó đang được phát triển. Nhưng ứng dụng sẽ được sử dụng hàng ngày bởi nhiều người dùng.

Nhưng điều này đã đủ chưa? Hoặc tôi thậm chí nên lo lắng (miễn là trên X yêu cầu một giây)

Tôi nghĩ rằng tôi không nên lo lắng nhưng tôi muốn một số lời khuyên về điều này.

41
Ólafur Waage

70 yêu cầu mỗi giây hoạt động với tốc độ hàng giờ là 252.000 trang kết xuất/giờ.

Nếu bạn cho rằng phiên duyệt trung bình cho trang web của bạn sâu 10 trang, thì bạn có thể hỗ trợ 25.000 lượt xem/giờ.

Bạn có thể nên kiểm tra những con số này so với số lượng khách truy cập dự kiến ​​của bạn, số này sẽ có sẵn từ những người ở phía doanh nghiệp.

Nhiều trang web tôi làm việc đã thấy khoảng 50% lưu lượng truy cập hàng ngày của họ trong khoảng thời gian cao điểm khoảng 3 giờ mỗi ngày. Nếu đây là trường hợp với trang web của bạn (tùy thuộc vào loại nội dung bạn cung cấp và đối tượng), thì bạn có thể hỗ trợ số lượt truy cập hàng ngày khoảng 150.000.

Đây là những con số khá tốt; Tôi nghĩ bạn sẽ ổn. Bây giờ thật khôn ngoan khi xem xét bộ nhớ đệm opcode và điều chỉnh cơ sở dữ liệu, nhưng hãy nhớ rằng tối ưu hóa sớm là gốc rễ của mọi tội lỗi. Giám sát trang web, tìm kiếm các điểm nóng và chờ lưu lượng truy cập tăng lên trước khi bạn trải qua một nỗ lực tối ưu hóa đắt tiền cho một vấn đề bạn có thể không gặp phải.

45
Tim Howland

Tôi đã sử dụng 2 công cụ để xem hiệu suất của các máy chủ Apache của tôi trong quá khứ.

Một là munin, biểu đồ tất cả các loại bao gồm số lượng phiên bản Apache, số lượng kết nối, bộ nhớ khả dụng, sử dụng bộ xử lý , v.v. - và giúp tôi xác định khi nào tôi tiếp cận vùng nguy hiểm , và tại sao.

Cái thứ hai chỉ đơn giản là trang trạng thái máy chủ Apache ( http: // your_server/server-status? Refresh = 1 ) cho phép tôi xem trạng thái của từng kết nối, cùng với số lượng kết nối miễn phí có sẵn tại bất kỳ thời điểm nào.

6
Brent

Tôi khuyên bạn chỉ nên lo lắng nếu bạn nghĩ rằng ứng dụng của bạn sẽ rất bận rộn khi ứng dụng này chạm đất. Là trang trong câu hỏi có khả năng bị ảnh hưởng nặng nề? Khó hơn? Ít hơn? Nếu bạn không biết, tôi sẽ nghi ngờ rằng nó không có khả năng là vấn đề sớm hơn. Nếu đó là trang chậm nhất của bạn, bạn sẽ biết một nơi để xem nếu bạn phải tối ưu hóa hệ thống sau này.

Ngoài ra còn có rất nhiều điều bạn có thể làm để điều chỉnh hầu hết các máy chủ web và công cụ cơ sở dữ liệu để tăng hiệu năng hơn.

1
acrosman

Khi bạn đặt trang web của mình trực tiếp, bạn cũng có thể xem mod_top 1 sẽ cung cấp cho bạn chế độ xem thời gian thực về tải hiện tại trên Apache. Tôi đã không tự cài đặt nó nhưng dường như chắc chắn có nhiều thông tin hơn và khả năng tải tốt hơn trạng thái máy chủ Apache tiêu chuẩn.

0
George Hazlewood

Bạn nêu trong một nhận xét rằng máy chủ của bạn có thể xử lý 2.900 yêu cầu mỗi giây trên một trang trống. Điều đó cho thấy khá mạnh mẽ rằng đó không phải là chính máy chủ web - đó là quá trình xử lý.

Nếu bạn đang sử dụng PHP, hãy xem xét một mã hóa opcode như APC . Nếu DB là nút cổ chai, memcached cũng sẽ giúp bạn.

0
ceejayoz