Skip to content

kirubeltadesse/Webpageranking

Repository files navigation

Webpageranking

This repository include visualization and analysis for ranking website. The visualization tools are aimed to give a ranking based on the user interaction with a given the website.

Visualization

The visualization is done using Bokeh in the bokeh_app folder. The folder contents to subfolders and main.py file which pass the data from the data folder to respective tabs by calling different script from the scripts and present on the dashboard for visualization. Click on the YouTube video below to watch a quick demonestration:
Dashboard using Bokeh

parameters

Below are the list of parameters chosen to rank the website.

  • Load Time: The time between the initial request and the browser load event
  • First Byte: The time it takes for the server to respond with the first byte of the response (in other words, the time it takes for the back-end to load)
  • Start Render: The time until the browser starts painting content to the screen
  • Speed Index: A custom metric introduced by WebPageTest to rate pages based on how quickly pages are visually populated (see here for full details on the metric)
  • DOM Elements: Number of DOM elements in the page
  • Document Complete: Set of metrics relative to the time until the browser load event, with Time, Requests and Bytes In representing the load time, number of requests and number of bytes received, respectively
  • Fully Loaded: Similar to Document Complete, but the metrics are relative to the time at which WebPageTest determines that the page has fully finished loading content. This is relevant and different from the above, because pages may decide to load additional content after the browser load event

Required packages

The packages required to run the Django server and every application on this project are specified in the windows-specfile.txt or linux-specfile.txt. If you have conda installed in you machine either windows or linux, after cloning the repo you can run conda with the respective specfile. like this for windows:

$ conda create --name <env> --file windows-specfile.txt

expect Naked use

$ pip install Naked

those should create an environment with the necessary dependencies to run the application. Then, activate your conda env by

activate <env>

And cd to webranking and there should be a manage.py file

python manage.py makemigrations

and

python manage.py migrate

and finally just to make sure

python manage.py migrate --run-syncdb

Now, you can lauch you localhost by running

python manage.py runserver

Results

  • The test was performed several time both on the same list of servers. And the difference in those paramater in different time is the same. In other words, the difference is negligible.

OLS stands for Ordinary Least Squares and the method “Least Squares” means that we’re trying to fit a regression line that would minimize the square of distance from the regression line

Using this model for the First Byte: being Y, p1 =Speed Index, p2 = Load time, p3 = Start render, p4 = DOM elements the coefficent for each parameters will be as follows:

Y = -0.7179*p1 + 0.5839*p2 +0.7944*p3 +-1.3634*p4

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published