私は、Pogoplug Pro(128MB RAM)上で動作するデータベースに小さなWebインタフェースを構築しています。このアプリは4人から5人の同時ユーザーを持つことはまずありませんし、sqliteをデータベースのバックエンドとして実行します。このシステムでLightttpd-PHPの組み合わせ(fastcgi付き)を使用することは可能でしょうか?スワップを有効にする他の理由から、オプションではありません。または、Pythonなどの軽量言語を使用しようとする必要がありますか?LightattpdとPHPを128MB RAMサーバで使用する
答えて
PHPは、あなたが宣言するすべての変数(Source)に対して、さまざまな種類のC変数(int、float、string、booleanなど)すべてにメモリを割り当てているため、私は他の言語のメモリフットプリントについてはわかりません。しかし、私はPHP用のHipHopを探してみることをお勧めします。
Hiphopは数年前にPHPコードを高度に最適化されたC++にコンパイルして、基盤となるOS上で直接実行するオープンソースプロジェクトです。コンパイルを実行すると、PHPアプリケーションがバンドルされた完全なWebスタックが取得され、高速で実行され、メモリが少なくなります。あなたはGitHub hereでヒップホップを見つけることができます。私はそれがどのように成熟したわからないんだけど、それは確かにあなたの状況の可能性だ:)
だけ知っているので、私はFacebookやヒップホップのために動作しない、私はちょうどその本当に巧妙なシステムだと思います:)
Givenそれは質問にコメントによると80 MBの空きメモリがあることは、それはランダムなPHPスクリプトのための十分です。 Hiphopは実行可能かもしれませんが、この質問の使用例ではほとんど設計されておらず、ここでのピンチポイントであるメモリの削減に関する主張はありません。 – AD7six
ありがとうございましたAD7six - このシステムに問題はないと思いますか?私は誰も保証をすることはできないと知っていますが、それは少なくとも、何か他のものを使用しようとするのではなく、PHPで設計を進めることができるということです。 – ShankarG
Hiphopはメモリを削減すると主張しています。これは私の最初のリンクの話のデザイン仕様の1つでした。 PHPは、変数の型ごとにたくさんのメモリを割り当てますので、変数の型が何であるかを伝える必要はありません。 Hiphopは変数の型を推定し、必要な領域だけを割り当てます。私は直接比較ベンチマークを見つけるのに苦労していますが、メモリ使用量は確かに改善されています。 –
128MBはかなりのボーダーラインで、最近のOSを稼働させています。私はあなたが行うことができることは試したことだと思いますが、逸話的な証拠のほかにはっきりとした答えはほとんどありません。 – deceze
真。 OSはうまく動いています - Debian Squeeze - しかし、約40MBを使っています。しかし、他の言語(Pythonなど)では、メモリ使用量が大幅に少なくなっていますか?私はPHPがメモリ豚であることを理解していますが、間違っている可能性があります。 – ShankarG
JavaフレームワークやJVM上で動作する他のさまざまな言語では、かなり多くのメモリが必要です(私は推測して、512MBという最小サイズのサーバを期待しています)。しかし、私はLAMPを256MBのサーバで動作させるようにしましたが、変更は全くありませんでした。 – halfer