我有一个 Azure 工作者角色在一个超小的实例中运行。它所做的只是将存储队列中的所有消息出列,并将它们以 100 个块的形式插入到表存储中。
我想知道在插入这些块时生成多个线程是否有意义,即使实例只是一个核心。我的想法是,由于插入是一个异步过程(尽管我正在使用使其看起来同步的 API 调用),所以可能核心花费最多的时间是等待,我可能会看到并行插入的性能提升。
插入进入 10 个表分区,因此跨分区并行化非常容易。那是我最好的选择吗?我可以使用 PLINQ 来执行此操作吗?我知道 PLINQ 根据内核数量优化线程使用,那么在这种情况下它甚至会产生多个线程吗?如果我使用插入调用的异步版本,当对表存储的调用返回时,这不会产生多个线程的效果吗?
谢谢!