如何提高my azure worker角色的性能?
我想知道我是否能为演出做些什么。我在一个项目中工作,我们处理付款。目前,角色在5秒内处理付款,包括将付款发送给第三方处理者进行付款处理。我们保持付款状态(待定/正在进行/成功/失败) 数据库-Azure SQL Server-P1大小 EF6.0 工人角色-中等规模 队列-Azure服务总线队列 为避免重复付款,我们将保存每笔付款的付款状态。在一天中,我们目前处理1500到2000个数据,这需要3到5个小时。越来越多的付款需要越来越多的时间 消息被WorkerRole拾取后,将由相应的处理程序执行。处理程序就像如何提高my azure worker角色的性能?,azure,entity-framework-6,azure-worker-roles,Azure,Entity Framework 6,Azure Worker Roles,我想知道我是否能为演出做些什么。我在一个项目中工作,我们处理付款。目前,角色在5秒内处理付款,包括将付款发送给第三方处理者进行付款处理。我们保持付款状态(待定/正在进行/成功/失败) 数据库-Azure SQL Server-P1大小 EF6.0 工人角色-中等规模 队列-Azure服务总线队列 为避免重复付款,我们将保存每笔付款的付款状态。在一天中,我们目前处理1500到2000个数据,这需要3到5个小时。越来越多的付款需要越来越多的时间 消息被WorkerRole拾取后,将由相应的处理程序执
public class PaymentProcessingHandler{
public void Execute(){
foreach(pendingPayments){
// ChangePaymentStatusFromPendingToInProgress
// SaveChanges()
// MakePayment
// UpdateResult
// SaveChanges()
}
}
}
如果有人使用过任何支付处理系统,并且有任何改进性能的想法都会有所帮助。如文所述,没有正确的答案。我们不知道您的代码如何处理事务(串行?并行?)-您共享了零代码。另外,我们不知道您是如何(或是否)扩展角色实例的,您是如何将操作排队的,您使用的虚拟机大小,您订阅的SQL数据库服务大小,角色实例和数据库是否在同一区域中。。。基本上我们除了(速度很慢)之外没有其他信息。在这个问题结束之前,请用更多的细节(和代码)编辑你的问题。@DavidMakogon我已经尽可能地更新了这个问题。不幸的是,我无法在这里发布大量的代码。您确定代码的哪一部分花费了很长时间吗?数据库,正在调用第三方处理器?请说明如何设置从队列接收消息。看起来付款是按顺序处理的,但我们还不知道您是如何从队列中提取付款消息的。