Skip to content

Commit f6ae24a

Browse files
authored
Merge pull request circleci#3968 from circleci/fix/optimization-cb
fix some linking issues
2 parents 1704955 + c198db6 commit f6ae24a

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

jekyll/_cci2/optimization-cookbook.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,16 @@ The *CircleCI Optimizations Cookbook* is a collection of individual use cases (r
1616

1717
Sometimes when you are using the CircleCI platform, you may encounter unexpected lags in pipeline performance, which can negatively affect your ability to perform critical organizational functions. These performance bottlenecks can not only impact overall performance, but also cause workflow and build failures. These "hiccups" can cost you money in terms of credit usage, resources, and individual time spent reducing bottlenecks.
1818

19+
### Optimization Recipes
20+
1921
This guide provides you with the following optimization strategies that you can utilize to minimize any potential performance bottlenecks and ensure that you are getting the best performance possible when using CircleCI:
2022

21-
- Running jobs sequentially to prevent concurrency
22-
- Implementing caching strategies to optimize builds and workflows
23-
- Improving test performance
23+
- [Running jobs sequentially to prevent concurrency](#running-jobs-sequentially-to-prevent-concurrency)
24+
- [Implementing caching strategies to optimize builds and workflows](#using-caching-to-optimize-builds-and-workflows)
25+
- [Improving test performance](#improving-test-performance)
2426

2527
**Note:** This guide will be updated with new optimization strategies on a continual basis, so please feel free to refer to this page for new and updated content.
2628

27-
### Optimization Recipes
28-
29-
The sections below lists the different optimization tasks that can be performed using the CircleCI platform.
30-
31-
* TOC
32-
{:toc}
33-
3429
## Running Jobs Sequentially To Prevent Concurrency
3530

3631
One of the most common tasks you may encounter when using the CircleCI platform is managing multiple jobs simultaneously to ensure your workflows do not fail because of system timeouts. This becomes especially important when you have multiple contributors and committers working in the same environment. Because the CircleCI platform was designed to handle multiple tasks simultaneously without encountering performance degradation or latency, concurrency may sometimes become an issue if there are a large number of jobs being queued, waiting for previous jobs to be completed before new jobs can be initiated, and system timeouts are set too low. In this case, one job will be completed, and other jobs will fail due to this timeout setting.
@@ -39,25 +34,31 @@ To better optimize workflows and jobs and prevent concurrency and subsequent job
3934

4035
**Note:** For more detailed information about the CircleCI Queueing orb, refer to the following CircleCI pages:
4136

42-
- Queueing and Single Threading Overview - https://github.com/eddiewebb/circleci-queue
43-
- CircleCI Queueing Orb - https://circleci.com/orbs/registry/orb/eddiewebb/queue#quick-start
37+
- [Queueing and Single Threading Overview](https://github.com/eddiewebb/circleci-queue)
38+
- [CircleCI Queueing Orb](https://circleci.com/orbs/registry/orb/eddiewebb/queue#quick-start)
4439

4540
### Setting Up and Configuring Your Environment to use the CircleCI Platform and CircleCI Orbs
4641

4742
To configure the environment for the CircleCI platform and CircleCI orbs, follow the steps listed below.
4843

4944
1) Use CircleCI `version 2.1` at the top of your `.circleci/config.yml` file.
5045

51-
`version: 2.1`
46+
```
47+
version: 2.1
48+
```
5249

5350
2) If you do not already have pipelines enabled, you'll need to go to **Project Settings -> Advanced Settings** to enable pipelines.
5451

5552
3) Add the `orbs` stanza below your version, invoking the orb. For example:
5653

57-
`orbs:
58-
queue: eddiewebb/[email protected]`
54+
```
55+
version: 2.1
56+
57+
orbs:
58+
queue: eddiewebb/[email protected]
59+
```
5960

60-
4) Use `queue` elements in your existing workflows and jobs.
61+
4) Use [`queue` elements](https://circleci.com/orbs/registry/orb/eddiewebb/queue#usage-examples) in your existing workflows and jobs.
6162

6263
5) Opt-in to use of third-party orbs on your organization’s **Security Settings** page.
6364

@@ -146,9 +147,9 @@ Notice in the above example that you can use a `checksum` in the cache key. This
146147

147148
**Note:** Before adding any caching steps to your workflow, verify the dependencies installation step succeeds. Caching a failed dependency step will require you to change the cache key in order to avoid failed builds due to a bad cache.
148149

149-
Because caching is a such a critical aspect of optimizing builds and workflows, you should first familiarize yourself with the following page that describes caching and how various strategies can be optimized:
150+
Because caching is a such a critical aspect of optimizing builds and workflows, you should first familiarize yourself with the following page that describes caching and how various strategies can be used to optimize your config:
150151

151-
- Caching - https://circleci.com/docs/2.0/caching/
152+
- [Caching](https://circleci.com/docs/2.0/caching/)
152153

153154
## Improving Test Performance
154155

0 commit comments

Comments
 (0)