app.pl 870 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env perl
  2. use Kelp::Less;
  3. use DBI;
  4. my $dsn = "dbi:mysql:database=hello_world;host=localhost;port=3306";
  5. my $dbh = DBI->connect( $dsn, 'benchmarkdbuser', 'benchmarkdbpass', {} );
  6. my $sth = $dbh->prepare("SELECT * FROM World where id = ?");
  7. get '/json' => sub {
  8. { message => 'Hello, World!' }
  9. };
  10. get '/db' => sub {
  11. my $self = shift;
  12. my $queries = $self->param('queries') || 1;
  13. my @response;
  14. for ( 1 .. $queries ) {
  15. my $id = int rand 10000 + 1;
  16. $sth->execute($id);
  17. if ( my $row = $sth->fetchrow_hashref ) {
  18. if ( $queries == 1 ) {
  19. return { id => $id, randomNumber => $row->{randomNumber} };
  20. }
  21. else {
  22. push @response,
  23. { id => $id, randomNumber => $row->{randomNumber} };
  24. }
  25. }
  26. }
  27. return \@response;
  28. };
  29. run;