Srs-bench特定のビジネスパフォーマンステストに対する同時プッシュソリューション


Srs-bench特定のビジネスパフォーマンステストに対する同時プッシュソリューション
srs-benchは生放送ストリームの同時テストをしたことがあると信じています.あまり紹介しないでください.
srs-bench公式サイト:https://github.com/ossrs/srs-bench
特定業務説明:
プロジェクトはプッシュ・ストリーム・サービス側に制限を加えており、プッシュ・ストリームが成功したのは簡単にサービス側にプッシュするのではなく、プッシュ・ストリームは、追加ストリーム(add steam)APIを呼び出してストリーム情報を追加する必要があり、追加に成功した後、token値が返されます.簡単に言えば、プッシュフローの場合、認証付きtokenが必要です.
srs-benchにおけるsb_rtmp_publishの限界は、プッシュフロー時にtokenがこれらの機能を処理しないことです.例えば、
 ./sb_rtmp_publish -i doc/source.200kbps.768x320.flv -c 1000 -r rtmp://127.0.0.1:1935/live/livestream_{i}
1000ウェイストリームをサービス側にプッシュすることを意味します.ストリームの名前はlivestream_です.{i}.
では問題ですが、上記の業務ニーズに応じて、サービス側が認証を必要とするtokenに流れるので、そうするとsb_rtmp_publish本省のこのようなメカニズムは要求を満たすことができない.代替案が必要です
ソリューション:
(1)Linuxマルチプロセスメカニズムを利用してsb_rtmp_publishはマルチプロセスで実行されます.プロセスごとに流れを押す.
./sb_rtmp_publish -i ../doc/source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line} 
(2)sb_rtmp_publishはフロントエンドで動作し、バックエンドで動作するように変更し、nohupで
nohup ./sb_rtmp_publish -i ../doc/source.200kbps.768x320.flv  -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line}   >pfm_logs/logpfm 2>&1 &
(3)Tokenは1つのファイルに存在し、shellコマンドを書いてtokenファイルから読み取り、どのくらいのtokenがどのくらいのパスプッシュストリームを生成するかを書く.
shellコマンドを完了するには、次の手順に従います.
#!/bin/sh  
i=0  
cat data|while read line  
do  
  let i=${i}+1  
  #echo ${line}${i}  
  nohup ./sb_rtmp_publish -i ../doc//source.200kbps.768x320.flv -c 1 -r rtmp://192.168.1.26:1935/live/PFM_test_HD_test${i}?token=${line}   >pfm_logs/logpfm 2>&1 &  
#sleep 10s  
done  
(4)tokenがどのように来るかについては、特定のトラフィックに基づいて、書き込みコード代呼び出しAPI生成を行い、これらのtokenをファイルに書き込む必要がある.
これでシナリオは終了します.