web-dev-qa-db-ja.com

Wordpress、Apache、SVN、およびMySQLを実行するには、どのくらいのVPS ramが必要ですか?

MySQLのインスタンスだけでなく、wordpressおよびSubversionとApacheが必要なApacheを用意する必要があります。)

ApacheはいくつかのサイトとSSLをホストします。 MySQLはWordpressデータベースを持っています。これらのサイトはトラフィックが少なく、1日に1000ヒット未満です。

20
Kyle Brandt

各Apacheワーカーは約20-25MBを消費することに注意してください。1kヒットが1日8時間で等間隔になる場合、1秒あたり0.03リクエストのみを処理する必要があると考えることができます。

すべてのトラフィックが1日1時間だけに集中していると仮定すると(もちろん、そうではありません)、毎秒約0.28のリクエストを処理する必要があります。

もう1つの問題は、どのくらいのメモリでDBを取得できるかということです。しかし、簡単に知ることができ、固定コストです。

最悪の場合、DB全体を転送する必要があります(この場合、SQLをリファクタリングします!:))..前の数値を2倍にします。

短い答えは(IMHO)128MBで十分です。あなたが想像しているトラフィックを考えると、サーバーはアイドル状態になり、メモリは長期間解放されます。

私は3つの年以来、256 MBのVPSに20のドメインを持っています、大丈夫です...そして、総ヒット数は約1500-2000です...

さて、今日のメモリは安いですが、みんな...あなたは1ギガバイトがどれくらいか知っていますか?

PS:もちろん、Linuxシステムについて話しているだけで、OSがGUIのためだけに4GBを消費しているのではなく:)

19
drAlberT

あなたが説明している低トラフィックの使用法については、小さな計画(256MB-384MB)で問題ないはずです。 ApacheとMySQLがインストールされている場合、デフォルトの設定では、より多くのRAMが利用可能であり、問​​題を引き起こす可能性があるため、これらを使用できると想定しています。以下を適切な出発点として使用し、必要に応じて調整してください。

Apache 2構成ファイル(通常、/ etc/Apache2/Apache2.confまたは/etc/Apache2/httpd.confにあります):

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

MySQL構成ファイル(通常は/etc/mysql/my.cnfにあります):

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

また、InnoDBテーブルを使用しない場合は、次の行を追加してInnoDBサポートを無効にする必要があります。

skip-innodb
13
tasaro

FastCGIに切り替えるまで、512MBの mine で問題が発生していましたRAM。これにより、パフォーマンスが大幅に向上しました。30MBの空き容量がありました(キャッシュをカウントせず、もちろん)それまでは、私は100MB以上の空き容量で終わりました。

もちろん、走行距離はサイトのトラフィックによって異なります。トラフィックが増加し始めたら、nginxに切り替えることができます。

自分の快適さを購入するために、1GBまで増やしました。

ちなみに、私は prgmr.com でホストされています。価格に触れている人はまだいません。

2
Matt Simmons

256 MB RAMのVPSで同様のセットアップを実行していますが、Apacheの代わりにlighttpdを実行しています。最初にApacheを試しましたが、256 MB VPSには多すぎました。 Apacheを使用したい場合は、512 MBのRAMで十分です。

VPSホスティングに使用するユーザーに応じて、小さいVPSから始めて、サーバーを再構成することなく、必要に応じてサイズを増やすことができます。

1
Jason Alford

私はしばらくこれに苦労しています。

AlbertTの設定は見事に機能しました。 mysqlの設定は明確な違いをもたらし、サイトの閲覧は素晴らしいものになりました。 http://laterboltz.com

MySQL構成ファイル(通常は/etc/mysql/my.cnfにあります):

key_buffer = 16K max_allowed_pa​​cket = 1M thread_stack = 64K table_cache = 4 sort_buffer = 64K net_buffer_length = 2K

また、InnoDBテーブルを使用しない場合は、次の行を追加してInnoDBサポートを無効にする必要があります。

skip-innodb

0
Chris

1GBで大丈夫ですが、可能であれば2GBにしてください。これは、ほとんどの最新のOSの主要なパフォーマンスステップです。

0
Chopper3

Apacheの代わりにnginx + php-fastcgiを使用していますが、アプリケーションの負荷は非常に似ています。私はSubversionアクセスにsvn + sshを使用しているので、リポジトリにアクセスしているとき以外はsvnserveプロセスが実行されていません。これはすべてUbuntu 8 LTSで実行されています。

現在、私は256MBの174MBを使用して実行しており、Webサイトは非常に応答性が高い(Wordpressビューの平均応答時間は500ms)

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

Apache + mod_phpではなく、nginxやlighttpdのような軽量のフロントエンドWebサーバーを確認することをお勧めします。 Apache + mod_fastcgiでphp-fastcgiにプロキシする場合でも、必要なメモリは少なくなります。

Apacheのルートを下った場合、私の直感では512mBがおそらくそのトリックを実行すると言っています。特に大規模な構成になると、ほとんどのVPSプロバイダーがコストをどのように拡大するかを考えると、1 GBまたは2 GBのメモリはかなり過剰に思えます。

0
James F