Tôi cần bao nhiêu ram VPS để chạy Wordpress, Apache, SVN & MySQL?


20

Có ai có số liệu ballpark về bao nhiêu VPS ram (không có khả năng nổ) tôi sẽ cần phải có apache với wordpress và lật đổ cũng như phiên bản MySQL không?

Apache sẽ lưu trữ một vài trang web và SSL. MySQL sẽ chỉ có cơ sở dữ liệu Wordpress. Các trang web này có lưu lượng truy cập thấp, ít hơn 1k lượt truy cập mỗi ngày.

Câu trả lời:


19

Hãy nhớ rằng mỗi nhân viên apache sẽ tiêu thụ khoảng 20-25 MB, vì vậy, nếu các lượt truy cập 1k của bạn sẽ cách đều nhau trong 8 giờ mỗi ngày, bạn có thể nghĩ về việc chỉ phải phục vụ 0,03 yêu cầu mỗi giây.

Giả sử bạn có tất cả lưu lượng truy cập tập trung chỉ trong 1 giờ trong ngày (tất nhiên không phải vậy), bạn sẽ phải phục vụ khoảng 0,28 yêu cầu mỗi giây.

Một vấn đề khác là DB có bao nhiêu bộ nhớ, tuy nhiên thật đơn giản để biết và đó là một chi phí khá cố định.

Trong trường hợp xấu nhất, bạn sẽ phải chuyển toàn bộ DB (trời ơi!, Tái cấu trúc SQL của bạn trong trường hợp này! :)) .. vì vậy hãy nhân đôi số trước đó ..

Câu trả lời ngắn gọn là (IMHO) 128MB sẽ đủ, dồi dào. Máy chủ của bạn sẽ không hoạt động và bộ nhớ sẽ miễn phí trong một thời gian dài, với lưu lượng truy cập mà bạn tưởng tượng.

Tôi có 20 tên miền vào VPS với 256 MB kể từ 3 năm, mọi thứ đều ổn ... và tổng số lần truy cập là khoảng 1500-2000 ...

OK, bộ nhớ ngày nay rẻ, nhưng các bạn ... bạn có biết một gigabyte là bao nhiêu không?

PS: Tất nhiên tôi đang nói về một hệ thống linux, không phải về việc hệ điều hành chỉ tiêu tốn 4GB cho gui :)


13

Đối với việc sử dụng lưu lượng truy cập thấp mà bạn đang mô tả, bạn sẽ ổn với một gói nhỏ (256MB - 384MB). Khi Apache và MySQL được cài đặt, các cấu hình mặc định của chúng cho rằng chúng đang hoạt động với nhiều RAM hơn có thể gây ra sự cố. Sử dụng như sau như một điểm khởi đầu tốt và điều chỉnh khi cần thiết:

Trong tệp cấu hình Apache 2 của bạn (thường được tìm thấy tại /etc/apache2/apache2.conf hoặc /etc/apache2/httpd.conf):

StartServers 1
MinSpareServers 3
MaxSpareServers 6
ServerLimit 24
MaxClients 24
MaxRequestsPerChild 3000

Trong tệp cấu hình MySQL của bạn (thường được tìm thấy trong /etc/mysql/my.cnf):

key_buffer = 16K
max_allowed_packet = 1M
thread_stack = 64K
table_cache = 4
sort_buffer = 64K
net_buffer_length = 2K

Ngoài ra, nếu bạn không sử dụng bảng InnoDB, bạn nên tắt hỗ trợ InnoDB bằng cách thêm dòng sau:

skip-innodb

Tôi có một vài trong số những dòng được đề cập trong apache2.conf. thay đổi tất cả? chúng được dán nhãn: prefork MPM, worker MPM,event MPM
vsync

2

Tôi đã gặp vấn đề với tôi tại 512MB RAM cho đến khi tôi chuyển sang FastCGI. Điều đó làm cho hiệu suất cải thiện rất nhiều. Tôi đã có 30 MB miễn phí (tất nhiên không tính bộ nhớ cache) cho đến lúc đó và cuối cùng tôi đã có hơn 100 MB miễn phí.

Số dặm của bạn có thể thay đổi, tất nhiên, tùy thuộc vào lưu lượng truy cập của trang web của bạn. Và một khi lưu lượng truy cập bắt đầu tăng lên, bạn có thể chuyển sang nginx.

Để mua cho mình một chút thoải mái, tôi đã tăng lên 1GB.

BTW, tôi được lưu trữ tại prgmr.com và tôi chưa thấy ai chạm vào giá của họ.


1
Cảm ơn prgmr.com, tôi thích khẩu hiệu "Chúng tôi không cho rằng bạn ngu ngốc." :-)
Kyle Brandt

Vâng, điều đó, cùng với việc Luke giảm giá cho những thứ cấp thấp cho các thành viên LOPSA là lý do tại sao tôi đã đi với họ
Matt Simmons

Tôi biết nó đã quá cũ, nhưng bây giờ tôi đoán Digitalocean là nơi mọi người có thể nói không ai có thể đánh bại họ :)
Ali

1

Tôi đang chạy một thiết lập tương tự trên VPS với RAM 256 MB, nhưng chạy lighttpd thay vì Apache. Tôi đã thử Apache trước, nhưng nó quá nhiều cho VPS 256 MB. Nếu bạn muốn sử dụng Apache, Id nói rằng bạn có thể nhận được bằng RAM 512 MB.

Tùy thuộc vào người bạn sử dụng cho lưu trữ VPS của bạn, bạn có thể bắt đầu với một VPS nhỏ hơn sau đó tăng kích thước nếu cần mà không phải định cấu hình lại máy chủ.


0

Bạn sẽ ổn với 1GB nhưng hãy dùng 2GB nếu có thể, đây là bước hiệu suất lớn đối với hầu hết các HĐH hiện đại.


1
1 GB sẽ rất lớn khi bị giết với 1k lượt truy cập mỗi ngày.
ceejayoz

Bạn đang cho rằng mình đang chạy linux, nếu anh ta muốn chạy Windows 2008 64-bit thì sao?
Chopper3

Lưu ý rằng đây là cho một máy chủ chạy Apache, MySQL và PHP. Đối với Apache nói riêng tôi sẽ không muốn sử dụng máy chủ Windows.
thomasrutter

0

Tôi sử dụng nginx + php-fastcgi thay vì Apache, nhưng với tải ứng dụng rất giống nhau. Tôi sử dụng svn + ssh để truy cập lật đổ của mình, vì vậy không có quá trình svnserve nào chạy trừ khi tôi truy cập vào kho lưu trữ. Đây là tất cả chạy trên Ubuntu 8 LTS.

Ngay bây giờ, tôi đang chạy ở mức 174mB được sử dụng 256mB và trang web này khá phản hồi (thời gian phản hồi trung bình là 500ms cho lượt xem Wordpress)

             total       used       free     shared    buffers     cached
Mem:           256        252          3          0         22         56
-/+ buffers/cache:        174         81
Swap:          511         12        499

Tôi khuyên bạn nên xem xét một máy chủ web lối vào nhẹ như nginx hoặc lighttpd thay vì Apache + mod_php. Ngay cả việc ủy ​​quyền Apache + mod_fastcgi cho php-fastcgi cũng sẽ chiếm ít bộ nhớ hơn.

Nếu bạn đi xuống tuyến đường Apache, ruột của tôi nói 512mB có thể sẽ làm điều đó. 1 hoặc 2gB bộ nhớ có vẻ như quá mức cần thiết, đặc biệt là khi hầu hết các nhà cung cấp VPS tăng quy mô chi phí của họ khi bạn có cấu hình lớn hơn.


0

Tôi đã vật lộn với điều này một lúc.

Khung cảnh của AlbertT hoạt động rực rỡ. Các thiết lập mysql tạo ra sự khác biệt rõ ràng và hiện tại trang web rất tuyệt. http://laterboltz.com

Trong tệp cấu hình MySQL của bạn (thường được tìm thấy trong /etc/mysql/my.cnf):

key_buffer = 16K max_allowed_packet = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K

Ngoài ra, nếu bạn không sử dụng bảng InnoDB, bạn nên tắt hỗ trợ InnoDB bằng cách thêm dòng sau:

bỏ qua

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.