" class="slide-link"> 4 - mainImage; ?>) no-repeat;"> 5 - mainImage; ?>" alt=" altTitle; ?>" /> altTitle; ?>" /> ,7 +59,7 defined('_JEXEC') or die('Restricted access'); 11 $slide): ?> link; ?>" title=" altTitle; ?>"> 14 - thumbnailImage; ?>) no- repeat;"> params->get('title')): ?> 28 title; ?> 1 Var img = new Image(); 2 img.src = “” //Code resolving to empty Root Causes of Duplicated Web Requests Missing resource cause Manifestation in browser">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 1 Is Your Web Server Suffering from Undue Stress due to Duplicate Requests? Fahad A. Arshad, Amiya K. Maji, Sidharth Mudgal, Saurabh Bagchi Dependable.

Similar presentations


Presentation on theme: "Slide 1 Is Your Web Server Suffering from Undue Stress due to Duplicate Requests? Fahad A. Arshad, Amiya K. Maji, Sidharth Mudgal, Saurabh Bagchi Dependable."— Presentation transcript:

1 Slide 1 Is Your Web Server Suffering from Undue Stress due to Duplicate Requests? Fahad A. Arshad, Amiya K. Maji, Sidharth Mudgal, Saurabh Bagchi Dependable Computing Systems Laboratory (DCSL) School of Electrical and Computer Engineering June 18th, 2014

2 Slide 2 Motivation for Detecting Duplicated Requests What is a duplicated request? –A web-click resulting in the same HTTP request twice or more Consequences –Cause extra server load –Corrupt server state Frequency of Occurrence –Top sites CNN, YouTube –At-least 22 sites out of top 98 Alexa sites (Chrome)

3 Slide 3 @@ -18,8 +18,8 @@ defined('_JEXEC') or die('Restricted access'); 1 2 3 target; ?> href=" link; ?>" class="slide-link"> 4 - mainImage; ?>) no-repeat;"> 5 - mainImage; ?>" alt=" altTitle; ?>" /> 6 + 7 + altTitle; ?>" /> 8 9 10 @@ -59,7 +59,7 @@ defined('_JEXEC') or die('Restricted access'); 11 $slide): ?> 12 13 link; ?>" title=" altTitle; ?>"> 14 - thumbnailImage; ?>) no- repeat;"> 15 + 16 17 params->get('title')): ?> 28 title; ?> 1 Var img = new Image(); 2 img.src = “” //Code resolving to empty Root Causes of Duplicated Web Requests Missing resource cause Manifestation in browser

4 Slide 4 Root Causes of Duplicated Web Requests Duplicate Script Cause Manifestation in Browser –None 1 2

5 Slide 5 Problem Statement and Design Goals How to automatically detect duplicated web-requests ? Design goals –General purpose solution –Low overhead –Low false-positive –High detection accuracy –Scope for diagnosis

6 Slide 6 Griffin’s High-level Detection Scheme Trace Synchronously 1 Extract Function- Call Depth Signal 2 Compute Autocorrelation and Detect on Threshold 3

7 Slide 7 Function-call-depth to Autocorrelation Example 3 2222 1111 0 C 0 =1x1+2x2+…+1x1+0x0=28 R 0 =C 0 /C 0 =1 C 1 =1x2+2x3+…+2x1+1x2=24 R 1 =C 1 /C 0 =0.85 C 10 =1x0+2x0+…+2x0+1x0=0 R 10 =0/C 0 =0.0 5 1234678910 Autocorrelation => shift + multiply + sum

8 Slide 8 Autocorrelation Example with Duplicate requests C 0 =1x1+2x2+…+1x1+0x0=56R 0 =C 0 /C 0 =1 C 10 =1x1+2x2+…+1x1+0x0=28R 10 =C 10 /C 0 =0.5 C 20 =1x0+2x0+…+2x0+1x0=0R 20 =0/C 0 =0.0 3 2222 1111 0 3 2222 1111 0 Repeated signal due to duplicate request

9 Slide 9 Detection Algorithm Example in NEEShub R xx [0]=C 0 /C 0 =1R xx [40000]=C 40000 /C 0 =0.49 Homepage Signal Duplicate Detected Threshold t0t0

10 Slide 10 Evaluation HUBZERO: Infrastructure for building dynamic websites –www.nees.org (web server, backend database) Accuracy Precision Overhead –Percentage Tracing Overhead –Detection Latency (seconds)

11 Slide 11 Definitions Web-request –GET, POST Web-click –mouse clicks generating multiple web-requests –Homepage, Login, LoggingIn Http-transaction –Multiple web-clicks by a human user –Homepage  Login  LoggingIn (size=3) –Homepage  Register (size=2) GET, GET, GET web-request GET, GET, GET web-request web-click http-transaction

12 Slide 12 Detection Results Tested 60 unique http-transactions –20 http-transactions of size 1,2,3 Ground-truth established by manual testing from browser –Duplicate requests found in seven unique web-clicks Tracing Overheard –1.29X Detection Latency: < 30 sec for sequence length of 100K

13 Slide 13 GRIFFIN’S Summary General solution for duplicate detection using autocorrelation –Trace function calls and returns –Extract function call-depth signal –Autocorrelation-based detection using only one threshold (0.4) Zero-false positives with 78% accuracy Low-overhead of tracing and detection

14 Slide 14 QUESTIONS ?

15 Slide 15 BACKUP SLIDES

16 Slide 16 NEEShub: Target Evaluation Infrastructure HUBZERO: Infrastructure for building dynamic websites Probe Architecture

17 Slide 17 Synchronous Function Tracing with Systemtap abc.php where a() calls b() and b() calls c() php.stp Entry Probe Return Probe Which event to Trace? What to print?

18 Slide 18 OUTPUT: Synchronous Tracing with Systemtap php.stp.output timestamp tid entry/ exit call-depth function name Line number filename

19 Slide 19 Sensitivity to Threshold one-click three-click

20 Slide 20 Overhead Results Tracing Overheard –1.29X Detection Latency

21 Slide 21 Post-detection Diagnostic Context Duplicate Detected Threshold t0t0 # TYPE: TIMESTAMP CALL/RETURN FUNC-DEPTH FUNC-NAME FILE LINE CLASS(if available) 39948 PHP: 1392896587135822 <= 15 "toString" file:"/www/neeshub/libraries/joomla/utilities/simplexml.php" line:650 classname:"JSimpleXMLElement" 39949 PHP: 1392896587135827 <= 14 "toString" file:"/www/neeshub/libraries/joomla/utilities/simplexml.php" line:650 classname:"JSimpleXMLElement". 41035 PHP: 1392896587178625 <= 0 "close" file:"/www/neeshub/libraries/joomla/session/session.php" line:160 classname:"JSession" 41036 APACHE: "/modules/mod_fpss/tmpl/Movies/css/template.css.php?width=…" To Developer: Look at “/modules/mod_fpss” Problem Fix File: modules/mod_fpss/tmpl/Movies/default.php


Download ppt "Slide 1 Is Your Web Server Suffering from Undue Stress due to Duplicate Requests? Fahad A. Arshad, Amiya K. Maji, Sidharth Mudgal, Saurabh Bagchi Dependable."

Similar presentations


Ads by Google