Honey, Could You Help Pair Those Socks? Mac OS

  1. Honey Could You Help Pair Those Socks Mac Os Catalina
  2. Honey Could You Help Pair Those Socks Mac Os X

Yes, there has been more weaving. First things first, I fixed the floats in my Looking Glass Scarf. The repairs are virtually invisible, so it’s like it never happened. 😁 I still haven’t received the fringe twister I ordered, so the scarf isn’t technically finished, but I still marked it as a FO on the Ravelry project page. Yes, it is better to walk with two pairs of socks – that would provide you with better protection from leeches, improve thermal insulation and lower the chances to develop blisters. It would also protect you better from water or moisture and enhance the general hiking comfort due to added padding.

Apache Traffic Server™ in its default configuration should perform suitably for running theincluded regression test suite, but will need special attention to both its ownconfiguration and the environment in which it runs to perform optimally forproduction usage.

There are numerous options and strategies for tuning the performance of Traffic Serverand we attempt to document as many of them as possible in the sections below.Because Traffic Server offers enough flexibility to be useful for many caching andproxying scenarios, which tuning strategies will be most effective for anygiven use case may differ, as well as the specific values for variousconfiguration options.

Help

Before You Start¶

One of the most important aspects of any attempt to optimize the performanceof a Traffic Server installation is the ability to measure that installation’sperformance; both prior to and after any changes are made. To that end, it isstrongly recommended that you establish some means to monitor and record avariety of performance metrics: request and response speed, latency, andthroughput; memory and CPU utilization; and storage I/O operations.

Attempts to tune a system without being able to compare the impact of changesmade will at best result in haphazard, feel good results that may end uphaving no real world impact on your customers’ experiences, and at worst mayeven result in lower performance than before you started. Additionally, in theall too common situation of budget constraints, having proper measurements ofexisting performance will greatly ease the process of focusing on thoseindividual components that, should they require hardware expenditures or largerinvestments of employee time, have the highest potential gains relative totheir cost.

Building Traffic Server¶

While the default compilation settings for Traffic Server will produce a set of binariescapable of serving most caching and proxying needs, there are some buildoptions worth considering in specific environments.

Hardware Tuning¶

As with any other server software, efficient allocation of hardware resourceswill have a significant impact on Traffic Server performance.

CPU Selection¶

Apache Traffic Server™ uses a hybrid event-driven engine and multi-threaded processing model forhandling incoming requests. As such, it is highly scalable and makes efficientuse of modern, multicore processor architectures.

Memory Allocation¶

Though Traffic Server stores cached content within an on-disk host database, the entireCache Directory is always maintained in memory during server operation.Additionally, most operating systems will maintain disk caches within systemmemory. It is also possible, and commonly advisable, to maintain an in-memorycache of frequently accessed content.

The memory footprint of the Traffic Server process is largely fixed at the time of serverstartup. Your Traffic Server systems will need at least enough memory to satisfy basicoperating system requirements, as well as capacity for the cache directory, andany memory cache you wish to use. The default settings allocate roughly 10megabytes of RAM cache for every gigabyte of disk cache storage, though thissetting can be adjusted manually in records.config using the settingproxy.config.cache.ram_cache.size. Traffic Server will, under the defaultconfiguration, adjust this automatically if your system does not have enoughphysical memory to accomodate the aforementioned target.

Aside from the cost of physical memory, and necessary supporting hardware tomake use of large amounts of RAM, there is little downside to increasing thememory allocation of your cache servers. You will see, however, no benefit fromsizing your memory allocation larger than the sum of your content (and indexoverhead).

Disk Storage¶

Except in cases where your entire cache may fit into system memory, your cachenodes will eventually need to interact with their disks. While a more detaileddiscussion of storage stratification is covered in Cache Partitioning below,very briefly you may be able to realize gains in performance by separatingmore frequently accessed content onto faster disks (PCIe SSDs, for instance)while maintaining the bulk of your on-disk cache objects, which may not receivethe same high volume of requests, on lower-cost mechanical drives.

Operating System Tuning¶

Apache Traffic Server™ is supported on a variety of operating systems, and as a result the tuningstrategies available at the OS level will vary depending upon your chosenplatform.

General Recommendations¶

TCP Congestion Control Settings¶

Jumbo Frames¶

FreeBSD¶

Mac OS X¶

Traffic Server Tuning¶

Traffic Server itself, of course, has many options you may want to consider adjusting toachieve optimal performance in your environment. Many of these settings arerecorded in records.config and may be adjusted with thetraffic_ctlconfigset command line utility while the server is operating.

CPU and Thread Optimization¶

Thread Scaling¶

By default, Traffic Server creates 1.5 threads per CPU core on the host system. This maybe adjusted with the following settings in records.config:

Thread Affinity¶

On multi-socket servers, such as Intel architectures with NUMA, you can adjustthe thread affinity configuration to take advantage of cache pipelines andfaster memory access, as well as preventing possibly costly thread migrationsacross sockets. This is adjusted with proxy.config.exec_thread.affinityin records.config.

Thread Stack Size¶

Honey, Could You Help Pair Those Socks? Mac OS

Timeout Settings¶

Traffic Server has a variety of timeout settings which may be modified to help tune theperformance of various proxy components. In general it is recommended to leavethe timeouts at their default values unless you have identified specific causesfor an adjustment.

Note that not all proxy configurations will be impacted by every timeout. Forinstance, if you are not using any hierarchical caching then the parent proxytimeouts will be irrelevant.

While all of the timeouts described below may be set globally for your Traffic Serverinstance using records.config, many of them are also overridable on aper-transaction basis by plugins (including Configuration Remap Plugin).This allows the possibility for adjusting timeout value for individual subsetsof your cache.

For example, you may wish to be fairly lenient on activity timeouts for most ofyour cache, leaving the default at a minute or two, but enforce a much strictertimeout on a set of very small, incredibly heavily accessed objects for whichyou can construct a map rule with the goal of reducing the chances that afew bad actors (misconfigured or misbehaving clients) may generate too muchconnection pressure on your cache. The tradeoff may be that some perfectlyinnocent, but slow clients may have their connections terminated early. As withall performance tuning efforts, your needs are likely to vary from others’ andshould be carefully considered and closely monitored.

Default Inactivity Timeout¶

The proxy.config.net.default_inactivity_timeout setting is applied tothe HTTP state machine when no other inactivity timeouts have been applied. Ineffect, it sets an upper limit, in seconds, on state machine inactivity.

In addition to the timeout itself, there is a related statistic:proxy.process.net.default_inactivity_timeout_applied which tracksthe number of times the default inactivity timeout was applied to transactions(as opposed to a more specific timeout having been applied).

Accept Timeout¶

The variable proxy.config.http.accept_no_activity_timeout sets, inseconds, the time after which Traffic Server will close incoming connections which remaininactive (have not sent data). Lowering this timeout can ease pressure on theproxy if misconfigured or misbehaving clients are opening a large number ofconnections without submitting requests.

Background Fill Timeout¶

When background fills are enabled,proxy.config.http.background_fill_active_timeout sets in seconds thetime after which Traffic Server will abort the fill attempt and close the originserver connection that was being used. Setting this to zero disables thetimeout, but modifying the value and enforcing a timeout may help insitutations where your origin servers stall connections without closing.

DNS Timeouts¶

Traffic Server performs all DNS queries for origin servers through the HostDB subsystem.Two settings affect the potential frequency and amount of time Traffic Server will spendon these lookups. proxy.config.hostdb.timeout is used to establish thetime-to-live, in minutes, for all DNS records andproxy.config.hostdb.lookup_timeout sets, in seconds, the timeout foractual DNS queries.

Setting a higher timeout value will reduce the number of times Traffic Server needsto perform DNS queries for origin servers, but may also prevent your Traffic Serverinstance from updating its records to reflect external DNS record changes in atimely manner (refer to proxy.config.hostdb.ttl_mode for moreinformation on when this TTL value will actually be used).

Keepalive Timeouts¶

Traffic Server keepalive timeouts may be set both for maintaining a client connection forsubsequent requests, usingproxy.config.http.keep_alive_no_activity_timeout_in, as well as originserver connections for subsequent object requests (when not servable from thecache) using proxy.config.http.keep_alive_no_activity_timeout_out.Both are specified in seconds. Keep in mind thatkeep_alive_no_activity_timeout_out for origin server connections iseffectively an advisory maximum, as the origin server may have its ownkeepalive timeout which (if set lower) will likely take precedence.

Origin Connection Timeouts¶

Origin server connection timeouts are configured with proxy.config.http.connect_attempts_timeout,which is applied both to the initial connection as well as any retries attempted,should an attempt timeout. The timeout applies from the moment Traffic Server begins theconnection attempt until the origin returns the first byte.

In the case where you wish to have a different (generally longer) timeout forPOST and PUT connections to an origin server, you may also adjustproxy.config.http.post_connect_attempts_timeout which applies only toorigin connections using those HTTP verbs.

Parent Proxy Timeout¶

In hierarchical caching configurations, the proxy.config.http.parent_proxy.connect_attempts_timeoutsetting is used for all connection attempts to parent caches. It may be useful,in cases where you wish to have Traffic Server fall back to an alternate parent cache(in configurations where you have multiple parents for the same cache) morequickly, to lower this timeout.

Polling Timeout¶

If you are experiencing unusually or unacceptably high CPU utilization duringidle workloads, you may consider adjusting the polling timeout withproxy.config.net.poll_timeout:

SOCKS Timeouts¶

In Traffic Server configurations where SOCKS has been enabled, three timeouts are madeavailable for tuning. Basic activity timeout for SOCKS server connections maybe adjusted with proxy.config.socks.socks_timeout, in seconds. Serverconnection attempts (initial connections attempts only) are covered byproxy.config.socks.server_connect_timeout, again in seconds, andserver connection retry attempts are set withproxy.config.socks.server_retry_timeout. Note that the retry timeoutis the timeout for the actual connection attempt on a retry, not the delayafter which a retry will be performed (the delay is configured withproxy.config.socks.server_retry_time).

SSL Timeouts¶

Traffic Server offers a few timeouts specific to encrypted connections handled by the SSLengine.

proxy.config.ssl.handshake_timeout_in configures the time, in seconds,after which incoming client connections will abort should the SSL handshake notbe completed. The default of 0 disables the timeout.

When OCSP Stapling is enabled in Traffic Server, you can configure twoseparate timeouts; one for setting the length of time which cached OCSP resultswill persist, specified in seconds usingproxy.config.ssl.ocsp.cache_timeout, and the timeout for requests tothe remote OCSP responders, in seconds, withproxy.config.ssl.ocsp.request_timeout.

Lastly, you can control the number of seconds for which SSL sessions will becached in Traffic Server using proxy.config.ssl.session_cache.timeout.

Transaction Activity Timeouts¶

Traffic Server specifies two sets of general transaction activity timeouts: a pair foractive transactions, and a pair for inactive connections (ones which are notreceiving or sending data during the timeout period). Each pair includes onetimeout for client connections (the _in variant) and another for originserver transactions (_out variants).

For active transactions,proxy.config.http.transaction_active_timeout_in andproxy.config.http.transaction_active_timeout_out set the maximum time,in seconds, which Traffic Server will spend sending/receiving data with a client ororigin server, respectively. If the data transfer has not completed within thetime specified then the connection will be closed automatically. This mayresult in the lack of a cache update, or partial data transmitted to a client.Both timeouts are disabled (set to 0) by default.

In general, it’s unlikely you will want to enable either of these timeoutsglobally, especially if your cache contains objects of varying sizes and dealswith clients which may support a range of speeds (and therefore take less ormore time to complete normal, healthy data exchanges). However, there may beconfigurations in which small objects need to be exchanged in very shortperiods and you wish your Traffic Server cache to enforce these time resrictions byclosing connections which exceed them.

The variables proxy.config.http.transaction_no_activity_timeout_in andproxy.config.http.transaction_no_activity_timeout_out control themaximum amount of time which Traffic Server will spend in a transaction which is stalledand not transmitting data, for clients and origin servers respectively.

Unlike the active transaction timeouts, these two inactive transaction timeoutvalues prove somewhat more generally applicable.

Honey Could You Help Pair Those Socks Mac Os Catalina

WebSocket Timeouts¶

Traffic Server provides two configurable timeouts for WebSocket connections. The settingproxy.config.websocket.no_activity_timeout will establish the maximumlength of time a stalled WebSocket connection will remain before Traffic Server closesit. proxy.config.websocket.active_timeout sets the maximum durationfor all WebSocket connections, regardless of their level of activity.

Memory Optimization¶

Disk Storage Optimization¶

Network Tuning¶

Error responses from origins are conistent and costly¶

If error responses are costly for your origin server to generate, you may electto have Traffic Server cache these responses for a period of time. The default behavior isto consider all of these responses to be uncacheable, which will lead to everyclient request resulting in an origin request.

This behavior is controlled by both enabling the feature viaproxy.config.http.negative_caching_enabled and setting the cache time(in seconds) with proxy.config.http.negative_caching_lifetime.

Honey Could You Help Pair Those Socks Mac Os X

SSL-Specific Options¶

Logging Configuration¶

Common Scenarios and Pitfalls¶

While environments vary widely and Traffic Server is useful in a great number of differentsituations, there are at least some recurring elements that may be used asshortcuts to identifying problem areas, or realizing easier performance gains.