parent
f2adc4a774
commit
bb903aa27a
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
[<img src="{{site.baseurl}}/img/pippi.png" class="pull-left img-big" alt="The power of sitespeed.io - Pippi Longstocking logo" width="180" height="151">](https://dashboard.sitespeed.io)
|
||||
|
||||
If you want to measure the performance and are only interested in timing metrics, you should focus on using [Browsertime]({{site.baseurl}}/documentation/browsertime/). If you want it all: use [sitespeed.io]({{site.baseurl}}/documentation/sitespeed.io/). It is the main tool that uses all sitespeed.io tools and add supports for testing multiple pages as well as adds the ability to report the metrics to a TSDB (Graphite and InfluxDB). Use it to monitor the performance of your web site.
|
||||
Get a comprehensive performance measurement with [sitespeed.io]({{site.baseurl}}/documentation/sitespeed.io/) - the ultimate tool for monitoring and enhancing web performance. It's the main tool that uses all the other sitespeed.io tools, supports testing multiple pages and reporting metrics to time series databases (Graphite and InfluxDB) for monitoring your website.
|
||||
|
||||
If you are a performance tool maker you should look at [The coach]({{site.baseurl}}/documentation/coach/), [Browsertime]({{site.baseurl}}/documentation/browsertime/), [Chrome-HAR](https://github.com/sitespeedio/chrome-har), [PageXray]({{site.baseurl}}/documentation/pagexray/) and [Throttle]({{site.baseurl}}/documentation/throttle/). They can all help you depending on what you are building.
|
||||
If you're looking to focus on timing metrics only, then [Browsertime]({{site.baseurl}}/documentation/browsertime/) is the perfect choice for you. But for a complete performance measurement, use [sitespeed.io]({{site.baseurl}}/documentation/sitespeed.io/).
|
||||
|
||||
If you're a developer of performance tools, then take advantage of the other tools that Sitespeed.io offers such as [The coach]({{site.baseurl}}/documentation/coach/), [Browsertime]({{site.baseurl}}/documentation/browsertime/), [Chrome-HAR](https://github.com/sitespeedio/chrome-har), [PageXray]({{site.baseurl}}/documentation/pagexray/) and [Throttle]({{site.baseurl}}/documentation/throttle/). Each tool can help you in different ways, depending on what you're building.
|
||||
|
|
@ -1,5 +1,3 @@
|
|||
## Google Web Vitals
|
||||
* * *
|
||||
We probably have the best way of all performance tools to track and monitoring Google Web Vitals: First Contentful Paint, Largest Contentful Paint, Cumulative Layout Shift and Total Blocking Time / First Input Delay.
|
||||
|
||||
Go to the [Google Web Vitals documentation](/documentation/sitespeed.io/google-web-vitals/) to learn how track them all.
|
||||
Experience unparalleled performance tracking and monitoring with our advanced Google Web Vitals monitoring tools. From First Contentful Paint to Largest Contentful Paint, Cumulative Layout Shift, and Total Blocking Time/First Input Delay, we've got you covered. Discover the most efficient way to track and monitor all your key performance metrics. Visit our [Google Web Vitals documentation](/documentation/sitespeed.io/google-web-vitals/) now to learn more.
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
## We believe in privacy
|
||||
* * *
|
||||
We take your privacy really serious: Our [documentation site](https://www.sitespeed.io/), our [dashboard](https://dashboard.sitespeed.io) and our [compare tool](https://dashboard.sitespeed.io) do not use any tracking software at all (no Google Analytics or any other tracking software). None of the sitespeed.io tools call home.
|
||||
At sitespeed.io, we understand the importance of privacy and take it extremely seriously. That's why our [documentation site](https://www.sitespeed.io/), [dashboard](https://dashboard.sitespeed.io), and [compare tool](https://dashboard.sitespeed.io) are completely free of any tracking software, including Google Analytics or any other similar programs. None of our tools will send any data back to us, giving you complete control over your information.
|
||||
|
||||
But beware: Chrome and Firefox can call home (we know for fact that they both do). We would love PRs and tips how to make sure browsers don't call home when you run your tests.
|
||||
But we also know that your browser can be a weak point. Chrome and Firefox have been known to send data back to their servers. We're always working to find ways to prevent this, and we welcome any contributions or suggestions from our users to improve your privacy when using our tools.
|
||||
|
||||
[Read more]({{site.baseurl}}/important/) about how we do things.
|
||||
We take pride in our commitment to protecting your privacy and ensuring that you have complete control over your data. To learn more about our privacy practices, please [read more]({{site.baseurl}}/important/).
|
||||
|
|
@ -3,8 +3,8 @@
|
|||
|
||||
[<img src="{{site.baseurl}}/img/public.png" class="pull-left img-big" alt="The power of sitespeed.io" width="150" height="150" alt="sitespeed.io Public Enemy logo">]({{site.baseurl}}/documentation/sitespeed.io/performance-dashboard/#cost)
|
||||
|
||||
Sitespeed.io is Open Source and totally free. But what does it cost to have an instance of sitespeed.io up and running?
|
||||
Sitespeed.io is freely available as Open Source software, with no hidden costs. However, running an instance of the tool does come with some expenses.
|
||||
|
||||
If you don't run on your own servers, we recommend running on [Digital Ocean](https://www.digitalocean.com/) optimized droplets 2 vCPUs or on [AWS](https://aws.amazon.com/) c5.large, storing the data at S3. On one instance you can run something like 80000+ runs per month for a total cost of $695 per year.
|
||||
To keep costs low, we recommend using cloud/server hosting services such as [Hetzner](https://www.hetzner.com), and storing data on S3. With one instance, you can run a large number of tests per month, with an estimated cost of around $500 per year.
|
||||
|
||||
[Look more into the cost details]({{site.baseurl}}/documentation/sitespeed.io/performance-dashboard/#cost).
|
||||
To get a more detailed understanding of the costs involved, please [refer to our cost breakdown information]({{site.baseurl}}/documentation/sitespeed.io/performance-dashboard/#cost).
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
## Thank you!
|
||||
* * *
|
||||
Sitespeed.io is built upon Open Source tools, we have a special place in our hearts for those projects ([see the full list]({{site.baseurl}}/documentation/sitespeed.io/developers/#built-upon-open-source)):
|
||||
|
||||
We are incredibly grateful for the Open Source tools that form the foundation of Sitespeed.io. Our hearts are filled with appreciation for these amazing projects and the communities that support them. We would like to extend a special thank you to ([see the full list]({{site.baseurl}}/documentation/sitespeed.io/developers/#built-upon-open-source)):
|
||||
|
||||
* [Selenium](http://www.seleniumhq.org/)
|
||||
* [VisualMetrics](https://github.com/WPO-Foundation/visualmetrics)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
## Contribute
|
||||
* * *
|
||||
|
||||
There's a lot of things you can do to help us make sitespeed.io even better than it is today.
|
||||
|
||||
If you code, write documentation or do UX you can check the [help section](https://github.com/sitespeedio/sitespeed.io/blob/main/HELP.md) and the [full issue list](https://github.com/sitespeedio/sitespeed.io/issues).
|
||||
|
||||
[These people](https://github.com/sitespeedio/sitespeed.io/blob/main/CONTRIBUTORS.md) has already improved sitespeed.io with pull requests or ideas (massive love!).
|
||||
Join the effort to make Sitespeed.io even better! Whether you're a developer, writer, or UX expert, there are many ways you can contribute to the improvement of our tool. Check out our [help section](https://github.com/sitespeedio/sitespeed.io/blob/main/HELP.md) and [full issue list](https://github.com/sitespeedio/sitespeed.io/issues) for opportunities to get involved. And a big thank you to [all those]((https://github.com/sitespeedio/sitespeed.io/blob/main/CONTRIBUTORS.md)) who have already made contributions through pull requests or ideas. Your support is greatly appreciated.
|
||||
|
|
|
|||
|
|
@ -202,9 +202,9 @@ To run this in production (=not on your local dev machine) you should make some
|
|||
10. Optional: Disable anonymous users access in Grafana.
|
||||
|
||||
## System Requirements / Memory & CPU
|
||||
How large will your instances need to be to run the tests? You need to have enough memory for Chrome/Firefox (yep they can really use a lot of memory for some sites). Before, we used a $80 instance on Digital Ocean (8GB memory, 4 Core processors) but we switched to use AWS c5.large for dashboard.sitespeed.io. We have tried out most cloud providers and at the time AWS gave us the most stable metrics.
|
||||
To ensure smooth performance while running tests with sitespeed.io, it is important to have sufficient memory for Chrome and Firefox, as they can require a significant amount of memory for certain websites. In the past, we have used an $80 instance on Digital Ocean (8GB memory, 4 Core processors), but currently, we use a bare metal server at Hetzner for our dashboard.sitespeed.io. We have found that bare metal servers provide the most stable metrics.
|
||||
|
||||
To summarize, your test should perform well on (physical or virtual) hardware greater than:
|
||||
In summary, for optimal performance, your test environment should have the following minimum hardware specifications:
|
||||
- 8GB Memory
|
||||
- 4 CPUs
|
||||
|
||||
|
|
@ -215,15 +215,19 @@ docker run -e MAX_OLD_SPACE_SIZE=4096 --rm -v "$(pwd):/sitespeed.io" sitespeedio
|
|||
```
|
||||
|
||||
## Cost
|
||||
Sitespeed.io is Open Source and totally free. But what does it cost to have an instance of sitespeed.io up and running?
|
||||
Sitespeed.io is an open-source tool that is completely free to use. However, there are some costs associated with running an instance of the tool.
|
||||
|
||||
Setting up an [AWS instance](https://aws.amazon.com/) c5.large has an upfront price $515 for a year (it is much cheaper to pay up front). Or you can use an optimized Droplet for $40 a month at [Digital Ocean](https://www.digitalocean.com/) (they have served us well in our testing).
|
||||
For optimal performance, we recommend using a bare-metal server from [Hetzner](https://www.hetzner.com). This is what we use for our own instances and it is available for less than $500 per year.
|
||||
|
||||
You also need to pay for S3 (to store the videos and HTML). For [https://dashboard.sitespeed.io](https://dashboard.sitespeed.io) we pay $10-15 per month (depending how long you want to store the data).
|
||||
Alternatively, you can use an AWS instance c5.large, with an upfront price of $515 per year. Or you can use an optimized Droplet for $40 a month from Digital Ocean.
|
||||
|
||||
Does your organisation already use Graphite/InfluxDB and Grafana? Then use what you have. Otherwise you need to have a server hosting Graphite/Grafana. We pay $20 per month at Digital Ocean for that. Depending on how many metrics and for how long you want to store them, you may need an extra disk. As always, you should also backup your data.
|
||||
You will also need to pay for S3 storage to store the videos and HTML or choose to host them yourself.
|
||||
|
||||
How many runs can you do per month? Many of the paid services, you also pay per run or have a maximum amount of runs. With our one instance at AWS we do 11 runs for 9 different URLs then we run 5 runs for 4 other URLs. That is 119 runs per hour. 2856 per day and 85680 runs per month. We test Wikipedia on our instance so it is possible that your site is a little slower, then you will not be able to make the same amount of runs per month.
|
||||
Overall, the cost of running an instance of Sitespeed.io will depend on your specific setup and usage. However, with the flexibility of the cloud hosting providers, you can scale up or down as needed, so you only pay for what you need.
|
||||
|
||||
If your organization already uses Graphite/InfluxDB and Grafana, continue using them. If not, you will need to set up a server to host them. Hosting costs can be around $20 per month on platforms such as Digital Ocean. Keep in mind that the amount of storage needed may vary based on the amount of metrics being collected and how long they are being stored for. Remember to always backup your data.
|
||||
|
||||
The number of runs that can be done per month can vary depending on the service being used. Some paid services charge per run or have a limit on the number of runs. Our organization uses one instance on AWS and can perform 11 runs for 9 different URLs, followed by 5 runs for 4 other URLs. This results in a total of 119 runs per hour, 2856 runs per day, and 85680 runs per month. Keep in mind that these numbers are based on testing Wikipedia on our instance and your site may be slower, resulting in a lower number of runs per month.
|
||||
|
||||
Total cost:
|
||||
|
||||
|
|
|
|||
|
|
@ -127,9 +127,29 @@ Another good thing is to make sure you monitor your server to keep track of memo
|
|||
#### Running on bare metal
|
||||
Running on bare metal servers helps you to avoid the noisy neighbour effect. However it doesn't automatically fixes your problem. You still need to configure/tune your OS to get stable metrics. There's a couple of things you need to do:
|
||||
|
||||
1. Set the CPU governor to *performance*. The CPU governor controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device. Governors have a large impact on performance and power save. You need to configure your server to have the same frequency all the time. If you are using Ubuntu you should set the governer to *performance* and pin the frequency. You can do that with *cpufrequtils*. Install `sudo apt-get install cpufrequtils` and checkout the [help page](https://manpages.ubuntu.com/manpages/xenial/man1/cpufreq-set.1.html). [Here's](https://ahnbk.com/?p=1467) another way to do it.
|
||||
2. Which DNS server that is used can make a big difference. Keep a look at your DNS times and make sure they are stable. If not read the [manpage](https://ubuntu.com/server/docs/service-domain-name-service-dns) on how to change it.
|
||||
3. Number of open files can be quite low on Linux, check it with `ulimit -a`. Increase following [these instructions](https://linuxhint.com/increase-open-file-limit-ubuntu/).
|
||||
##### Pin the CPU governor
|
||||
Set the CPU governor to *performance*. The CPU governor controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device. Governors have a large impact on performance and power save. You need to configure your server to have the same frequency all the time. If you are using Ubuntu you should set the governer to *performance* and pin the frequency. You can do that with *cpufrequtils* or the newer *cpupower* (by installing the linux-tools that match your kernel).
|
||||
|
||||
Install `sudo apt-get install cpufrequtils` and checkout the [help page](https://manpages.ubuntu.com/manpages/xenial/man1/cpufreq-set.1.html). The key is to pin the min and the max frequence to be the same.
|
||||
|
||||
Check how many cores and min and max frequency by running `cpufreq-info`. Then you can see how you can set the frequency with `cpufreq-set --help`.
|
||||
|
||||
Say that the max frequency for your server is 4.00 GHz you want to pin it to use 2.00 GHz (in practice you want to match the frequency with what your users have and you can do that with [the CPU benchmark](/documentation/sitespeed.io/cpu-benchmark/)). They you use the `cpufreq-set` command.
|
||||
|
||||
```cpufreq-set -d 2.00Ghz -u 2.00Ghz -g performance```
|
||||
|
||||
That sets the governor to performance and pin it to 2.00Ghz. Then you need to do that for all your cores. You choose core with `-c` so if you have two cores you should run:
|
||||
|
||||
```
|
||||
cpufreq-set -d 2.00Ghz -u 2.00Ghz -g performance -c 0
|
||||
cpufreq-set -d 2.00Ghz -u 2.00Ghz -g performance -c 1
|
||||
```
|
||||
|
||||
##### Choose DNS server
|
||||
Which DNS server that is used can make a big difference. Keep a look at your DNS times and make sure they are stable. If not read the [manpage](https://ubuntu.com/server/docs/service-domain-name-service-dns) on how to change it.
|
||||
|
||||
##### Open files
|
||||
Number of open files can be quite low on Linux, check it with `ulimit -a`. Increase following [these instructions](https://linuxhint.com/increase-open-file-limit-ubuntu/).
|
||||
|
||||
#### Running on Kubernetes
|
||||
Do not use Kubernetes for performance tests. The problem running on Kubernetes is to get stable connectivity. On Kubernetes you cannot use [tc](https://tldp.org/HOWTO/Traffic-Control-HOWTO/intro.html) or Docker networks to set the connectivity.
|
||||
|
|
|
|||
|
|
@ -9,8 +9,4 @@ image: https://www.sitespeed.io/img/sitespeed-2.0-twitter.png
|
|||
|
||||
# Welcome to the wonderful world of Web Performance
|
||||
|
||||
Sitespeed.io is a [set of Open Source tools](/documentation/) that makes it easy to monitor and measure the performance of your web site.
|
||||
|
||||
Measuring performance shouldn't be hard: you should be able to have full control of your metrics, own your own data and you should be able to do it without paying top dollars.
|
||||
|
||||
That's why we created sitespeed.io.
|
||||
Unlock the full potential of your website with sitespeed.io - the ultimate tool for monitoring and enhancing web performance. Say goodbye to the complexity and high costs of measuring performance. With our easy-to-use [Open Source tools](/documentation/), you'll have complete control over your metrics and own your own data. Welcome to the world of exceptional web performance with Sitespeed.io.
|
||||
Loading…
Reference in New Issue