Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何提高my azure worker角色的性能?_Azure_Entity Framework 6_Azure Worker Roles - Fatal编程技术网

如何提高my azure worker角色的性能?

如何提高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拾取后,将由相应的处理程序执

我想知道我是否能为演出做些什么。我在一个项目中工作,我们处理付款。目前,角色在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我已经尽可能地更新了这个问题。不幸的是,我无法在这里发布大量的代码。您确定代码的哪一部分花费了很长时间吗?数据库,正在调用第三方处理器?请说明如何设置从队列接收消息。看起来付款是按顺序处理的,但我们还不知道您是如何从队列中提取付款消息的。