Guest User

Untitled

a guest
Jul 17th, 2018
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. const readline = require('readline');
  2. const AWS = require('aws-sdk');
  3.  
  4. let success = 0;
  5. let retries = 0;
  6. let failures = 0;
  7.  
  8. const rl = readline.createInterface({
  9. input: process.stdin,
  10. output: process.stdout
  11. });
  12.  
  13. const dynamodb = new AWS.DynamoDB({
  14. region: 'eu-west-1',
  15. maxRetries: 0,
  16. });
  17. const docClient = new AWS.DynamoDB.DocumentClient({
  18. service: dynamodb
  19. });
  20.  
  21. AWS.events.on('retry', function (resp) {
  22. retries++;
  23. });
  24.  
  25. function ReadDynamoPromise() {
  26. const params = {
  27. TableName: 'table-sandbox',
  28. Key: {
  29. id: '5c6a8fa0-6014-11e8-b42b-d5ae7edca68c'
  30. }
  31. };
  32. return docClient.get(params).promise()
  33. .then(function (data) {
  34. success++;
  35. return data;
  36. }).catch(function (err) {
  37. failures++;
  38. });
  39. }
  40.  
  41. Main = function () {
  42. rl.question('Enter db get numbers:', async (numberOfGets) => {
  43. console.log(`Testing with ${numberOfGets} simultaneous gets`);
  44. rl.close();
  45.  
  46. console.time('full run');
  47. const promises = new Array();
  48. promises.length = numberOfGets;
  49. await Promise.all(promises.fill(undefined).map(x => ReadDynamoPromise()));
  50.  
  51. console.log('=============== Summary =================');
  52. console.log('success:', success);
  53. console.log('retries:', retries);
  54. console.log('failures:', failures);
  55. console.log('=========================================');
  56. console.timeEnd('full run');
  57. });
  58. }();
Add Comment
Please, Sign In to add comment