我正在调查使用Node充当反向代理的可能性.我的项目的主要目标之一是它具有非常高的性能.所以我设置了一个节点服务器来代理对目标节点服务器的请求,无论请求是什么,它都会响应'hello world'.
使用Apache Bench我已经对每秒处理的请求数进行了一些比较.代理,目标和调用者都在AWS中的单独M1 Large实例上.我的结果令人沮丧和困惑.
从呼叫者直接到目标:
ab -c 100 -n 10000 http://target-instance/
Run Code Online (Sandbox Code Playgroud)
= ~2600请求/秒
从呼叫者到代理到目标
ab -c 100 -n 10000 http://proxy-instance/
Run Code Online (Sandbox Code Playgroud)
= ~1100个请求/秒
使用lighttpd我能够在代理和目标上获得~3500请求/秒
我很失望代理服务器的性能低于目标服务器.当比较像lighttpd这样的其他产品时,我看到代理实现了与目标相当的结果,所以我很困惑Node(假设快速闪电)没有达到相同的效果.
这是我在Node v0.5.9中的代理代码:我错过了什么吗?
var server =
http.createServer(function(req, res){
var opts = { host: 'target-instance',
port: 80,
path: '/',
method: 'GET'};
var proxyRequest = http.get(opts, function(response){
response.on('data', function(chunk){
res.write(chunk);
});
response.on('end', function(){
res.end()
});
});
});
server.listen(80);
Run Code Online (Sandbox Code Playgroud) 我正在使用 Pentaho 数据集成 (CE) 构建 ETL 过程,并且我正在尝试操作我的转换和作业,以便能够对其进行监控。具体来说,我希望能够捕获任何错误,然后将它们发送到诸如 Honeybadger 或 New Relic 之类的错误报告服务。我了解如何进行行级错误报告,但我看不到执行作业或事务失败报告的方法。
这是一个示例作业。
我正在构建一个照片浏览器应用程序,用户应在其中浏览页面以查看不同的照片。这是目前对我有用的视图。
<ScrollView orientation="horizontal" ios.pagingEnabled="true" >
<StackLayout orientation="horizontal">
<Image *ngFor="#picture of buffer" [src]="picture.originUrl" stretch="aspectFit"></Image>
</StackLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
当我尝试应用叠加层时,问题就来了。因此,我尝试将整个包装成一个包,AbsoluteLayout以便可以ScrollView正常进行操作,但将覆盖层放在顶部。当我这样做时,滚动会完全中断。这是中断滚动的视图:
<AbsoluteLayout>
<Label text="overlay" left="0" tope="0"></Label>
<ScrollView orientation="horizontal" ios.pagingEnabled="true" left="0" top="0">
<StackLayout orientation="horizontal">
<Image *ngFor="#picture of buffer" [src]="picture.originUrl" stretch="aspectFit"></Image>
</StackLayout>
</ScrollView>
</AbsoluteLayout>
Run Code Online (Sandbox Code Playgroud)
布局似乎可以正常工作,但是滚动会中断。有人对如何实现这一目标有任何想法吗?