Berapa ram VPS yang saya perlukan untuk menjalankan Wordpress, Apache, SVN & MySQL?

20

Apakah ada yang punya angka rata-rata berapa banyak ram VPS (tanpa burstable) saya perlu apache dengan wordpress dan subversi serta contoh MySQL?

Apache akan meng-host beberapa situs dan SSL. MySQL hanya memiliki database Wordpress. Situs-situs ini lalu lintas rendah, kurang dari 1rb hit sehari.

Kyle Brandt
sumber

Jawaban:

19

Ingatlah bahwa setiap pekerja apache akan mengkonsumsi sekitar 20-25MB, jadi jika hit 1k Anda akan ditempatkan dalam waktu yang sama dalam waktu 8 jam per hari, Anda bisa memikirkan untuk melayani hanya 0,03 permintaan per detik.

Dengan asumsi Anda memiliki semua lalu lintas Anda terkonsentrasi hanya dalam 1 jam dalam sehari (itu tentu saja tidak), Anda harus melayani sekitar 0,28 permintaan per detik.

Masalah lain adalah berapa banyak memori membuat Anda DB, mudah untuk mengetahui namun, dan itu adalah biaya yang cukup tetap.

Dalam kasus terburuk Anda harus mentransfer seluruh DB (oh my god !, refactor Anda SQL dalam kasus ini! :)) .. jadi gandakan angka sebelumnya ..

Jawaban singkatnya adalah (IMHO) 128MB sudah cukup, berlimpah. Server Anda akan diam dan memori akan bebas untuk waktu yang lama, mengingat lalu lintas yang Anda bayangkan.

Saya memiliki 20 domain menjadi VPS dengan 256 MB sejak 3 tahun, oke ... dan total hit sekitar 1500-2000 ...

OK, memori murah saat ini, tetapi teman-teman ... apakah Anda menyadari berapa satu gigabyte?

PS: Saya berbicara tentang sistem linux tentu saja, bukan tentang OS mengkonsumsi 4GB hanya untuk gui :)

drAlberT
sumber
13

Untuk penggunaan dengan lalu lintas rendah yang Anda gambarkan, Anda seharusnya baik-baik saja dengan paket kecil (256MB - 384MB). Ketika Apache dan MySQL diinstal, konfigurasi default mereka menganggap mereka bekerja dengan lebih banyak RAM yang tersedia yang dapat menyebabkan masalah. Gunakan yang berikut ini sebagai titik awal yang baik dan sesuaikan seperlunya:

Dalam file konfigurasi Apache 2 Anda (biasanya ditemukan di /etc/apache2/apache2.conf atau /etc/apache2/httpd.conf):

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

Dalam file konfigurasi MySQL Anda (biasanya ditemukan di /etc/mysql/my.cnf):

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

Selain itu, jika Anda tidak menggunakan tabel InnoDB, Anda harus menonaktifkan dukungan InnoDB dengan menambahkan baris berikut:

skip-innodb
tasaro
sumber
Saya memiliki beberapa baris yang disebutkan dalam apache2.conf. ubah semuanya? mereka diberi label: prefork MPM, worker MPM,event MPM
vsync
2

Saya mengalami masalah dengan milik saya pada RAM 512MB sampai saya beralih ke FastCGI. Itu membuat kinerja meningkat banyak. Saya punya 30MB gratis (tidak termasuk cache, tentu saja) sampai saat itu, dan saya berakhir dengan lebih dari 100MB gratis.

Jarak tempuh Anda mungkin bervariasi, tentu saja, tergantung pada lalu lintas situs Anda. Dan setelah lalu lintas mulai muncul, Anda dapat beralih ke nginx.

Untuk membeli sendiri kenyamanan, saya mencapai 1GB.

BTW, saya dihosting di prgmr.com , dan saya belum melihat ada yang menyentuh harganya.

Matt Simmons
sumber
1
Terima kasih untuk prgmr.com, saya suka slogan "Kami tidak menganggap Anda bodoh." :-)
Kyle Brandt
Ya, itu, bersama dengan fakta bahwa Luke memberikan diskon pada barang-barang kelas bawah kepada anggota LOPSA adalah mengapa saya pergi bersama mereka
Matt Simmons
Saya tahu ini terlalu tua, tapi sekarang saya kira digitalocean adalah tempat orang dapat mengatakan tidak ada yang bisa mengalahkan mereka :)
Ali
1

Saya menjalankan pengaturan serupa pada VPS dengan 256 MB RAM, tetapi menjalankan lighttpd bukan Apache. Saya mencoba Apache dulu, tapi itu terlalu banyak untuk 256 MB VPS. Jika Anda ingin menggunakan Apache, saya katakan Anda bisa bertahan dengan RAM 512 MB.

Bergantung pada siapa yang Anda gunakan untuk hosting VPS Anda, Anda bisa mulai dengan VPS yang lebih kecil kemudian menambah ukurannya jika diperlukan tanpa harus mengkonfigurasi ulang server.

Jason Alford
sumber
0

Anda harusnya baik-baik saja dengan 1GB tetapi gunakan 2GB jika Anda bisa, itu adalah langkah kinerja utama untuk sebagian besar OS modern.

Chopper3
sumber
1
1 GB akan menjadi lebih besar daripada kill untuk 1k hit sehari.
ceejayoz
Anda berasumsi dia menjalankan linux, bagaimana jika dia ingin menjalankan Windows 2008 64-bit ???
Chopper3
Perhatikan bahwa ini untuk server yang menjalankan Apache, MySQL dan PHP. Untuk Apache khususnya saya tidak ingin menggunakan server Windows.
thomasrutter
0

Saya menggunakan nginx + php-fastcgi bukan Apache, tetapi dengan beban aplikasi yang sangat mirip. Saya menggunakan svn + ssh untuk akses subversi saya, jadi tidak ada proses svnserve yang berjalan kecuali ketika saya mengakses repositori. Ini semua berjalan di Ubuntu 8 LTS.

Saat ini, saya menggunakan 174mB dari 256mB, dan situs webnya cukup responsif (rata-rata waktu respons 500 ms untuk tampilan Wordpress)

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

Saya akan merekomendasikan melihat server web frontend ringan seperti nginx atau lighttpd bukan Apache + mod_php. Bahkan proksi Apache + mod_fastcgi ke php-fastcgi akan memakan lebih sedikit memori.

Jika Anda turun rute Apache, usus saya mengatakan 512MB mungkin akan melakukan trik. Memori 1 atau 2gB tampak seperti kerja keras yang berlebihan, terutama mengingat bagaimana sebagian besar penyedia VPS meningkatkan biaya ketika Anda mencapai konfigurasi yang lebih besar.

James F
sumber
0

Saya telah berjuang dengan ini untuk sementara waktu.

Pengaturan AlbertT bekerja dengan sangat baik. Pengaturan mysql membuat perbedaan CLEAR dan sekarang meramban situs menjadi hebat. http://laterboltz.com

Dalam file konfigurasi MySQL Anda (biasanya ditemukan di /etc/mysql/my.cnf):

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

Selain itu, jika Anda tidak menggunakan tabel InnoDB, Anda harus menonaktifkan dukungan InnoDB dengan menambahkan baris berikut:

lewati-innodb


sumber