In Progress

Java website, with arbitrary performance standards

I need a website that doesn't do much and is instrumented with AppNeta's TraceView product.

# The site itself

The site itself should require 2 machines to run. The frontend machine should have 4 endpoints:

* /login - This endpoint should make 3 database calls.

* /overview - This endpoint should make a database call, a memcache call, and an internal REST API call, and an external REST API call.

* /top_sites - This endpoint should make 50 of the same database call and 2 memcache calls (one set, one get).

* /profiles/ - This endpoint should make 5 database calls and 5

memcache calls. It should return, no matter what is passed for the URL.

All of these should return a page with at least 200 lines of HTML on them. All

of them should include a twitter share button.

The backend machine should have one endpoint:

* /api/data - This endpoint should make a database call, and 2 memcache calls (set & get).

For each of the calls above, I specifically mean:

* A database call: Make a call to a MySQL database, which is set up on the same

machine. I don't care what the query is, but it should take 200-400ms to

return.

* A memcache call: Make a call to memcached on the same machine. The set should

set a key (named 'obj_cache'), and the get should retrieve the key 'obj_cache'

90% of the time, and 10% of the time retrieve 'cached_obj'.

* An external REST API call: Make an HTTP call to

[url removed, login to view] Don't worry about passing

credentials.

* An internal REST API call: Make an HTTP call to the other server (the

backend), at /api/data.

In all of these cases, you should ignore the result -- the important part is that the call is made.

You should use the following libraries / versions:

* Apache webserver, version 2.2, set up to proxy requests to Tomcat.

* Tomcat webserver, version 6.x.

* Spring MVC framework, version 3

* xmemcache memcache client, version 1.3.6

* MySQL JDBC

* Apache HTTP client, version 4.

There are also a couple of of URL flags that all pages should respond to.

* If any of pages are passed "qArg=300" in the query string, it should take an

extra 300ms to run. Similarly, "qArg=100" should delay the request by

100ms. Something like [url removed, login to view]() is fine here. This should be capped at

1000ms (i.e., if qArg=1000000, only sleep for 1000ms).

* If any of the pages are passed "qQuery=true", instead of running the normal

database query, it should run a query that takes an extra 200ms to run.

# The instrumentation

I want to get visibility into what this site is doing. You should instrument

both sites with TraceView. There is a 14 day trial available (link below), which

should give you enough time to instrument this site. Go through the installation

procedure on both machines, and make sure they have the following:

* Basic install (i.e., the tracelyzer daemon is running)

* Apache install on the frontend (i.e., mod_oboe installed)

* Java installation (i.e., [url removed, login to view] loaded via -javaagent in [url removed, login to view])

* RUM (Java function that returns JS on each page.)

* Wrap the [url removed, login to view] that qArg responds to with a Java profile named

'data_process'. (Instructions for that are here:

[url removed, login to view])

TraceView trial: [url removed, login to view]

Skills: HTML, Java, MySQL

See more: what is.json, tomcat rest, sites with login html 5, one call care management, named query, memcached daemon, json calls, jdbc framework, appneta, 1000000 website, what is spring framework, what is json, what is java spring, what is java for, spring in java, mysql mean, memcached api, apache proxy server, t sh, standards, Spring mvc, spring login, Spring JDBC, spring framework java, rum

About the Employer:
( 2 reviews ) Providence, United States

Project ID: #4137823

Awarded to:

bhavishya

i can work for you i have experience in rest webservice and multithreading

$8 USD / hour
(0 Reviews)
0.0

3 freelancers are bidding on average $8/hour for this job

shadchnev

he, check PM

$8 USD / hour
(2 Reviews)
0.0
tiennv90

Hi i want to apply your job. Please take a look at my CV.

$8 USD / hour
(0 Reviews)
0.0