我正在使用Apache和cgi腳本實現RESTful API,並且性能至關重要。我需要以最有效的方式將數據傳輸到cgi腳本。這意味着最少數量的臨時文件或RAM緩衝。理想情況下,我會從IP數據包進入1MB RAM緩衝區,然後到達目的地。搜索網絡和這個博客,關於轉移效率的信息很少。cgi文件上傳優化
Mod_perl經常被提及,我理解其中的效率,因爲perl解釋器已經在Apache中進行了優化。但是,哪裏可以獲得有關緩存POST請求到cgi腳本的詳細信息?
這裏是我有一個具體的問題:如果我使用curl POST的形式,只是一個文件上傳,那麼CGI腳本沒有從stdin中獲取任何數據。我從文件中獲取數據很好,但它不是通過STDIN,而是通過url_param。我知道我正在做POST,因爲$ ENV將它作爲POST。那麼爲什麼我沒有看到STDIN數據?
第二個問題是,如果任何人對不同傳輸類型的性能研究誰知道呢?
我沒有確切的答案。但是,將AD 2013用於性能至關重要的RESTFul API似乎並不實際。如果您喜歡Perl中,你可以使用一些微架構,如[舞者](https://metacpan.org/module/Dancer)或[Mojolicious(https://metacpan.org/module/Mojolicious),有已經完成了很多工作,以獲得RESTful服務。如果你仍然需要CGI腳本的幫助,你可以分享一些示例代碼來處理。 –
我沒看Mojolicious,我會繼續保持這一點。我擔心採用整個框架。我也在一個安全的環境中工作,並且比整個框架更容易獲得perl軟件包的批准。在框架中隱藏東西更容易。我已經進一步工作,所以我會發布一些代碼。 – tradetree