Which features does TR7 offer to speed up my application?
Short answer
TR7 speeds up the application in four ways: by reducing the work that goes to the Backend Service (Cache, Compression, Certificate for terminating TLS on TR7, HTTP TCP Multiplexing), by making the client connection efficient (HTTP/2, HTTP/3, HTTP Keepalive Timeout), by distributing the load according to response time (LB Algorithm: Least Response Time, Fastest) and by reserving resources for critical vServices (QOS). vService Limits, Timeout and Bandwidth, on the other hand, do not speed things up; they protect resources and show up as slowness with narrow values.
How Does It Work?
The duration of a request consists of four parts; each TR7 feature shortens one of them:
- Client ↔ TR7 connection: HTTP/2 and HTTP/3 carry multiple requests over one connection; keep-alive prevents the connection from being re-established for every request.
- Processing on TR7: When TLS is terminated on TR7, the encryption load is taken off the Backend Service; Cache serves repeated responses without going to the Backend Service.
- TR7 ↔ Backend Service: HTTP TCP Multiplexing reuses open connections; algorithms sensitive to response time direct requests to the servers that respond quickly.
- Transfer of the response to the client: Compression shrinks text responses.
QOS reserves the vService's own processor and memory resources and so prevents these steps from slowing down at busy times.
Acceleration Features in TR7
| Feature | Where | Effect | Details |
|---|---|---|---|
| Cache | vService → Details → Cache (HTTP only) | Repeated responses are served without going to the Backend Service | Can I do caching on TR7; what are the default settings? |
| Compression | vService → Details → Compression (HTTP only) | Text responses get smaller | How is compression (GZIP / DEFLATE) enabled; which content types should be compressed? |
| HTTP TCP Multiplexing | Load Balancer → Actions → HTTP TCP Multiplexing action, vService → Details → Actions (HTTP only) | Backend Service connections are reused | What is HTTP TCP Multiplexing; how does it reduce the number of backend connections? |
| TLS termination | vService → Frontend row → encrypted protocol + Certificate | The encryption load is taken off the Backend Service | What is SSL offloading (termination), and how is it set up? |
| HTTP/2 · HTTP/3 | vService → Frontend row → Protocol | More requests per connection on the client side | Is HTTP/2 supported? |
| Keep-alive | Timeouts profile → HTTP Keepalive Timeout (default 120 s) | The client connection is not re-established for every request | What do the values in the Timeouts profile (HTTP Keepalive Timeout, HTTP Request Timeout, Connect, Server, Client, Queue, Tunnel(Websocket) Timeout, Client FIN, Server FIN) mean? |
| Distribution sensitive to response time | vService → LB Algorithm → Least Response Time, Fastest | Requests go to the servers that respond quickly | How do Least Response Time and Least Bandwidth work; why do they sometimes behave like Least Connection? |
| QOS | vService → Details → QOS (HTTP, L7 TCP) | Cores and memory are reserved for the critical vService | What is QoS; how do I reserve dedicated CPU/memory resources for critical vServices? |
Settings that do not speed things up but protect resources:
| Setting | Seen with a narrow value | Details |
|---|---|---|
| vService Limits | New connections are held until the count drops below the limit | What is the vService Limits profile; what are the default limits? |
| Timeout | Long operations are cut off halfway | Why is the request cut off during long operations (report, file upload); which timeout should I increase? |
| Bandwidth | The download speed flattens at the limit | Can I limit bandwidth (download / upload)? |
Which features are on in a vService is seen on a single screen in the Load Balancer Management tab of the vService.
Common Misconceptions
- "The Bandwidth setting speeds things up." Bandwidth limits traffic; it does not add speed.
- "Turning on QOS makes the vService faster." QOS reserves or limits resources; a narrow Memory limit or Cpu usage limit slows things down.
- "Cache and compression are available on every vService." Both are found only on the HTTP vService.
- "The source of the slowness is always TR7." First, the stage at which the delay occurs is determined (The site is slow; how do I tell whether the problem is in TR7 or in the backend?).
How it is done in the documentation
