私はShiny Applicationを開発しました。起動すると、いくつかのデータセットがロードされます。およそ4 GBのデータテーブル。次に、アプリケーションに接続する人々は、インターフェイスを使用して、それらのデータテーブルで遊ぶことができます。Djangoアプリケーションは、すべての要求で共有されている大きなPandaオブジェクトをメモリに持っていますか?
このアプリケーションはいいですが、いくつかの制限があります。それが私が別の解決策を探している理由です。
私の考えは、パンダとジャンゴを一緒に働かせることです。このようにして、インタフェースとRESTful APIを同時に開発することができました。しかし、私が必要とするのは、Djangoに来るすべてのリクエストが、一度ロードされたpandasデータテーブルを使用できるということです。どんなリクエストでも4GBのメモリをロードしなければならないと想像してみてください...恐ろしいでしょう。
私はどこにでも見ましたが、これを行う方法は見つかりませんでした。私はこの質問を見つけた:https://stackoverflow.com/questions/28661255/pandas-sharing-same-dataframe-across-the-requestしかし、それは応答がありません。
なぜデータをRAMに保存する必要がありますか?なぜなら、質問された結果をすばやく表示するためにはパフォーマンスが必要だからです。私はMariaDBに、Pythonや他の言語の唯一のRや特別なパッケージができる計算が含まれているなど、それらのデータを計算して維持するよう求めることはできません。
こんにちはデュクルボディ あなたの答えをありがとう!良い感じ。 WSGI労働者の数を制限することは可能だと思いますか?そしてそれらのすべてにデータを準備しますか?それは完璧だろう! よろしくお願いいたします。 Jerome – FrelonQuai
WSGIワーカーの数を簡単に制限できます。たとえば、Gunicornでは 'gunicorn wsgi_app_object --workers'を使用します。 –
dukebody
あなたの答えをお返事いただきありがとうございます!私はそれができることだと思う! – FrelonQuai