質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
並列処理

複数の計算が同時に実行される手法

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

Q&A

0回答

670閲覧

azure table storage にあるtableを並列に読み込んでも実行速度が変わりません

abea

総合スコア32

並列処理

複数の計算が同時に実行される手法

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Azure

Azureは、マイクロソフトのクラウド プラットフォームで、旧称は Windows Azureです。PaaSとIaaSを組み合わせることで、 コンピューティング・ストレージ・データ・ネットワーキング・アプリケーションなど多くの機能を持ちます。

0グッド

1クリップ

投稿2020/07/29 09:37

azure functions(Python)を使って、azure table storageに存在するサイズの大きめなtable(1つ10メガバイト程度)を読み込む時に並列処理を使っているのですが、並列処理をした場合と逐次的に読み込む場合とで実行速度が変わりません。逐次処理と並列処理のコードはそれぞれ下のようにしています。

Python3

1#逐次処理 2def get_table(tablename): 3 table_service = TableService(account_name='myaccount', account_key='mykey') 4 tasks = table_service.query_entities(tablename, filter="PartitionKey eq 'tasksSeattle'") 5 return tasks 6 7get_table("table1") 8get_table("table2")

Python3

1#並列処理 2from multiprocessing.dummy import Pool 3 4def get_table(tablename): 5 table_service = TableService(account_name='myaccount', account_key='mykey') 6 tasks = table_service.query_entities(tablename, filter="PartitionKey eq 'tasksSeattle'") 7 return tasks 8 9tables = ['table1', 'table2'] 10with Pool() as p: 11 arr = p.map(get_table, tables)

FUNCTIONS_WORKER_PROCESS_COUNTも10に設定しています。
また、速度が変わらないのはデプロイした時限定で、並列、逐次ともに30秒程度かかってしまいます。しかしローカルの環境でデプロイなどせずに実行した場合はちゃんと2倍ぐらいの速度が出ており、15秒程度で終了することを確認しています。
ログを見てもget_tableは独立に走っていますし、デプロイされた時だけtable1とtable2を順に読み込むのと速度が変わらない理由がよくわかりません。デプロイした場合には通信経路にボトルネックがあるということでしょうか?
考えられる原因、理由を教えてくださると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問