我正在使用 Apache 和 cgi 脚本实现 RESTful API,性能至关重要。我需要以最有效的方式将数据传输到 cgi 脚本。这意味着最少数量的临时文件或 RAM 缓冲。理想情况下,我会从 IP 数据包到 1MB RAM 缓冲区一次,然后再到我的目的地。搜索网络和这个博客,关于传输效率的信息很少。
经常提到 mod_perl,我理解那里的效率,因为 perl 解释器已优化为 Apache。但是,您从哪里可以获得有关缓冲对 cgi 脚本的 POST 请求的详细信息?
这是我遇到的一个具体问题:如果我使用 curl 发布一个只是文件上传的表单,那么 cgi 脚本不会从 STDIN 获取任何数据。我从文件中获取数据就好了,但它不是通过 STDIN,而是通过 url_param。我知道我正在做一个 POST,因为 $ENV 将它作为一个 POST。那么为什么我看不到 STDIN 数据呢?
第二个问题是是否有人知道关于不同传输类型性能的研究?