アップルサーバーにプッシュメッセージを送信できるサーバーアプリケーションを開発しました。私はデバイスのカップルとそれをテストし、私はデバイス上のメッセージを得ることができるよ。問題は、データベースに約100万個のデバイスがある場合、アプリケーションのパフォーマンスがどのようになるかを知る方法がないことです。このシナリオでサーバーアプリケーションをテストする方法はありますか?負荷テストリンゴプッシュ通知サーバーアプリケーション
1
A
答えて
1
テストデータを使用できませんでしたか?あなたは、テストスクリプトであなたのデータベースを満たすことができます。ランダムなデバイスIDのように..? Apple APSはもちろんメッセージを受け付けませんが、あなたの能力をテストすることはできますか?
0
私はあなたが望むものを見て、同じ問題に直面しましたが、私にとってはリバースエンジニアリングでした。 私はライブラリを調べ、deviceTokenを検証する関数を調べました。したがって、ダミーデバイストークンiの作成中に、生成されたトークンがライブラリごとに有効であることを確認しました。
有効なデバイストークンを生成させます。このトークンは、この機能を使用して生成するトークンの数百万になります。
def generateRandomDeviceTokenAndAppendItToJson(tokenLength: Int) {
val randomlyGeneratedDeviceToken = new StringBuilder()
randomlyGeneratedDeviceToken.append(" \"")
(1 to tokenLength) foreach {
times: Int =>
if (tokenLength equals Device.Apple)
randomlyGeneratedDeviceToken.append(validCharacter().toString.charAt(0))
else
randomlyGeneratedDeviceToken.append(Random.alphanumeric.head)
}
randomlyGeneratedDeviceToken.append("\",")
println(randomlyGeneratedDeviceToken)
writer.write(randomlyGeneratedDeviceToken.toString())
}
private def validCharacter(): Int = {
val a = Random.alphanumeric.head
if ('0' <= a && a <= '9')
return (a - '0')
else if ('a' <= a && a <= 'f')
return ((a - 'a') + 10)
else if ('A' <= a && a <= 'F')
return ((a - 'A') + 10)
validCharacter()
}
リンゴdeviceTokenは64文字であるため、64回反復する必要があります。
関連する問題
- 1. システム負荷とユーザー負荷
- 2. VSTS負荷テストレポート
- 3. 負荷IFRAME
- 4. 問題負荷
- 5. アンギュラルート - 負荷
- 6. 負荷量
- 7. セグメンテーションフォールト::負荷
- 8. 負荷は()ダイアログ
- 9. アンドロイド:負荷が
- 10. RMI負荷テストツール?
- 11. 負荷値
- 12. MySQLサーバの負荷
- 13. Processing.jsは、負荷スクリプト
- 14. AutoItの負荷エクセルアドイン
- 15. フレームコンテンツの負荷イベント
- 16. 負荷にXmlDataProviderは
- 17. Scriptaculousの負荷パラメータ
- 18. 最大ユーザー負荷
- 19. - DLLの負荷が
- 20. uframe負荷のクロスドメインページ
- 21. トレース/ログ負荷テストパラメータ
- 22. Amazon EC2負荷テスト
- 23. 負荷テストバックボーンのApp
- 24. イオン2負荷は
- 25. メテオフルプロダクションウェブアプリの負荷/ストレステスト?
- 26. UIの負荷テスト
- 27. Webサーバー負荷テストツール
- 28. ケトル - 負荷分散
- 29. 高負荷のスプリングシングルトンビーンズ
- 30. CSSメディアクエリの負荷
私はそれを行うことができますが、無効なデバイスIDに100万のメッセージをリンゴに送信するようなものです。アップルのサーバーが何とかそれを何らかの攻撃として扱う(サーバーに無効な要求をロードしようとしている)とみなして、アプリケーションを一括してブロックする可能性はありますか? – prashant
取得できるすべてのデバイスを使用し、そのIDをデータベースに複数回挿入することもできます。あなたはプッシュ通知のコンサートを得るでしょう:) – alex
理想的なシナリオでは、ダミーサーバーがリンゴと同じポート上で実行されることが予想されます。これは投げられるすべてのものを食べるだけです。そうすれば、リンゴを気にすることなくアプリケーションをテストできます。もちろん私はここでいくつか小さな仮定をしていますが、これは私が実稼働環境に近づくほど近いと思います。 – prashant