File tree Expand file tree Collapse file tree 4 files changed +38
-8
lines changed
src/src/frontend/src/views/page_stats Expand file tree Collapse file tree 4 files changed +38
-8
lines changed Original file line number Diff line number Diff line change @@ -7,15 +7,18 @@ This solution was designed for multiple websites with low to moderate traffic. I
77possible, but it is not free. The cost is mostly driven by the ingestion API that saves the data to S3 through a
88Kinesis Firehose.
99
10- You can see a LIVE DEMO [ HERE] ( https://demo.serverless-website-analytics.com/ ) .
10+ You can see a LIVE DEMO [ HERE] ( https://demo.serverless-website-analytics.com/ ) and read about the simulated traffic
11+ [ here] ( https://github.com/rehanvdm/serverless-website-analytics/blob/main/docs/DEMO-TRAFFIC.md )
1112
1213## Objectives
13- - Easy to deploy in your AWS account, any * region
14- - The target audience is small to medium websites with low to moderate traffic (less than 10M views)
14+ - Low frequency of dashboard views
15+ - The target audience is small to medium website(s) with low to moderate page view traffic (equal or less than 10M views)
1516- Lowest possible cost
1617- KISS
1718- No direct server-side state
1819- Low maintenance
20+ - Easy to deploy in your AWS account, any * region
21+ - Don't store any Personally Identifiable Information (PII)
1922
2023The main objective is to keep it simple and the operational cost low, keeping true to "scale to 0" tenants of serverless,
2124even if it goes against "best practices".
Original file line number Diff line number Diff line change @@ -7,15 +7,18 @@ This solution was designed for multiple websites with low to moderate traffic. I
77possible, but it is not free. The cost is mostly driven by the ingestion API that saves the data to S3 through a
88Kinesis Firehose.
99
10- You can see a LIVE DEMO [ HERE] ( https://demo.serverless-website-analytics.com/ ) .
10+ You can see a LIVE DEMO [ HERE] ( https://demo.serverless-website-analytics.com/ ) and read about the simulated traffic
11+ [ here] ( https://github.com/rehanvdm/serverless-website-analytics/blob/main/docs/DEMO-TRAFFIC.md )
1112
1213## Objectives
13- - Easy to deploy in your AWS account, any * region
14- - The target audience is small to medium websites with low to moderate traffic (less than 10M views)
14+ - Low frequency of dashboard views
15+ - The target audience is small to medium website(s) with low to moderate page view traffic (equal or less than 10M views)
1516- Lowest possible cost
1617- KISS
1718- No direct server-side state
1819- Low maintenance
20+ - Easy to deploy in your AWS account, any * region
21+ - Don't store any Personally Identifiable Information (PII)
1922
2023The main objective is to keep it simple and the operational cost low, keeping true to "scale to 0" tenants of serverless,
2124even if it goes against "best practices".
Original file line number Diff line number Diff line change 1+ # Demo Site Traffic
2+
3+ The Demo site traffic consists of simulated data and some real data that comes from the page itself.
4+
5+ At some point the simulated data was generating 100 records every 1 minute 24x7 over three sites. This was to test how Firehose, S3 and
6+ Athena would handle the load. The firehose buffering was also at 1 minute, this was to force the setup to generate S3
7+ files every minute.
8+
9+ Since this is a schema on read system, I was particularly interested in seeing the costs associated
10+ with Athena scanning/doing S3 GET requests and weather it can still produce results in a timely manner. The results were
11+ very good, the system was able to handle the load and produce results in a timely manner.
12+
13+ But the simulated traffic had to be changed to accommodate the high view rate of the dashboard. The simulated traffic
14+ was changed instead of optimizing the Athena & S3 section of the system because this problem is only inherit to the
15+ demo site. Ideally you will not have 10k+ users viewing the dashboard all the time. It would be a select few users
16+ throughout the day.
17+
18+ The simulated traffic was changed to a burst of 10k records every 1 hour. This reduces the amount of buckets Firehose
19+ creates and also the amount of files written to S3. This in return reduces the amount of S3 GET requests made by Athena
20+ when querying the data.
21+
22+ ** The system is designed for around 1 to 10 million page views. There is a high traffic demo site available that is
23+ guarded by authentication. Contact me if you wish to have a look at how this solution performs at scale.**
Original file line number Diff line number Diff line change @@ -164,12 +164,13 @@ async function refresh()
164164<template >
165165 <el-container class =" h100" style =" display : flex ; justify-content : center " >
166166
167- <div style =" width : 1280px ; " >
167+ <div style =" width : 1280px ;" >
168168
169169 <el-alert v-if =" showDemoBanner" class =" demo" type =" warning" style =" margin-top : 10px ; width : 100% " >
170170 <div style =" display : flex ; justify-content : space-between ; width : 100% " >
171171 <div >
172- This is the open source CDK <a style =" font-weight : bold ; color : inherit " href =" https://github.com/rehanvdm/serverless-website-analytics" target =" _blank" >serverless-website-analytics</a > demo page, it tracks this page and some simulated traffic.
172+ This is the open source CDK <a style =" font-weight : bold ; color : inherit " href =" https://github.com/rehanvdm/serverless-website-analytics" target =" _blank" >serverless-website-analytics</a >
173+ demo page, it tracks this page and some <a style =" font-weight : bold ; color : inherit " href =" https://github.com/rehanvdm/serverless-website-analytics/blob/main/docs/DEMO-TRAFFIC.md" target =" _blank" >simulated traffic.</a >.
173174 </div >
174175 <div >
175176 <a style =" margin-left : 20px " href =" https://github.com/rehanvdm/serverless-website-analytics" target =" _blank" >
You can’t perform that action at this time.
0 commit comments