teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

補足

2018/10/09 12:11

投稿

yosera45
yosera45

スコア10

title CHANGED
File without changes
body CHANGED
@@ -2,22 +2,26 @@
2
2
 
3
3
  raspberry piで、ある測定を行い、得られる測定データの中でフィルタ条件を満たすものを、その都度、リアルタイムに通知したい。
4
4
 
5
-
6
5
  ・測定データは特定のフォーマットのテキストデータであり、軽量でメールに載せられます。
7
6
 
8
7
  ・測定データがフィルタ条件に一致するかの判定は、各測定データに対し、マルチスレッドを起動しており、同時並行的です。これを大量に取得される測定データに対して行い、フィルタ条件を満たすときは、メール通知しています。つまり、メール通知までもマルチスレッド化してます。
9
8
 
10
- ・メール通知までの一連のタスクの具合を見るため、
9
+ ・メール通知までの一連のタスクの混雑の具合を見るため、
11
10
  測定データの取得時刻と、それに対応するメールが作成完了する時刻も載せています。
12
11
 
13
12
  ・通信経路は暗号化を要求するので、現状ではpgpのメールで対応していますが、
14
13
  メールを一件ごとに開く必要があり、使いづらいです。
15
14
  そのため、表示を自由に変更可能なサーバに変更し、tlsへ移行するつもりです。
16
15
 
16
+ ・rpi外のネットワークの品質には問題ないとします。
17
+
17
18
  ### 発生している問題・エラーメッセージ
18
19
 
19
- 上記のメッセージ配送の仕様のため、非力なrpiでは、短時間に連続でフィルタ条件を満たす測定データが取得されるとき、それら通知を見ると、測定デーの取得時刻とメルメッセージ作成時刻1,2分空いてしっておりリアルタイム性がないです。
20
+ 上記のメッセージ配送の仕様のため、非力なrpiでは、短時間に連続でフィルタ条件を満たす測定データが取得されるとき、一気に大量のタスクキューがるためか
21
+ それらの通知を見ると、測定データの取得時刻とメールメッセージ作成時刻が1,2分空いてしまっており、リアルタイム性がないです。
20
22
 
23
+ これは、rpiで大量のタスクキューを発生させた事が原因なのか、
24
+ 1回のメール作成が負荷の原因であり、その他のメッセージ配送プロトコルを利用すれば改善されるかは不明です。
21
25
 
22
26
  rpiのネットワークの遅延は問題ないので、rpiのcpuの問題です。
23
27
 
@@ -26,7 +30,7 @@
26
30
  軽量のメッセージプロトコルとして,mqttやnanomsg,zeromqを考えています。
27
31
  測定データを送信するrpiと、それを受信してwebアクセスしたユーザーに自由な形式(グラフとか)で表示するサーバのため、実質的には二者間通信であり、、ブローカーレスな構成です。
28
32
 
29
- しかし、軽量のメッセージプロトコル以前に、例えば、最近5秒以内のフィルタ条件を満たす測定データはまとめて通知する、という方法にすれば、通知回数を減らして負荷を減らせるのでは、という期待もあります。そのため、httpsでpost送信で対応すればよいのではとも考えました。
33
+ しかし、軽量のメッセージプロトコル以前に、例えば、最近5秒以内のフィルタ条件を満たす測定データはまとめて通知する、という方法にすれば、通知回数を減らして負荷を減らせるのでは、という期待もあります。(もちろん、遅延が最低でも5秒存在する事にはなるが)そのため、httpsでpost送信で対応すればよいのではとも考えました。
30
34
 
31
35
 
32
36
  ### 補足情報(FW/ツールのバージョンなど)