This appendix contains the following sections:
The following table lists the frequently asked questions (FAQs) discussed in this section.
FAQs |
---|
root
, enter the following command at the prompt to examine which file systems are mounted on the disk you want to use for the Traffic Server cache: df -k
/etc/fstab
file and comment out/delete the file system entries for the disk.fstab
file.umount file_system
file_system
is the file system you want to unmount. If a disk drive fails five successive I/O operations, then Traffic Server considers the drive inaccessible and removes the entire disk from the cache. Normal cache operations continue for all other Traffic Server disk drives.
When a client disconnects during an HTTP operation, Traffic Server continues to download the object from the origin server for up to 10 seconds. If the transfer from the origin server completes successfully within 10 seconds after the client disconnect, then Traffic Server stores the object in cache. If the origin server download does not complete successfully within 10 seconds, then Traffic Server disconnects from the origin server and deletes the object from cache. Traffic Server does not store partial documents in the cache.
Yes, Traffic Server can store and serve Java applets, JavaScript programs, VBScripts, and other executable objects from its cache according to the freshness and cacheability rules for HTTP objects. Traffic Server does not execute the applets, scripts, or programs, however - these objects run only when the client system (ie, the one that sent the request) loads them.
logs_xml.config
file to all nodes in a cluster? After you modify the
logs_xml.config
file on one Traffic Server node, enter the following command from the Traffic Server
bin
directory: traffic_line -x
Traffic Server applies the changes to all nodes in the cluster. The changes take effect immediately.
The following table describes the cache result codes in Squid and Netscape log files.
Cache Result Code |
Description |
---|---|
|
A valid copy of the requested object was in the cache and Traffic Server sent the object to the client. |
|
The requested object was not in cache, so Traffic Server retrieved the object from the origin server (or a parent proxy) and sent it to the client. |
|
The object was in the cache, but it was stale. Traffic Server made an |
|
The object was in the cache but was stale. Traffic Server made an |
|
The object was in the cache but was stale. Traffic Server made an |
|
The client issued a request with a |
|
The client issued an |
|
The client issued an |
|
The object was in the cache but could not be accessed. The client did not receive the object. |
|
The client disconnected before the complete object was sent. |
|
Traffic Server could not reach the origin server. |
|
The Domain Name Server (DNS) could not resolve the origin server name, or no DNS could be reached. |
|
The client HTTP request was invalid. (Traffic Server forwards requests with unknown methods to the origin server.) |
|
The origin server did not respond to Traffic Server's request within the timeout interval. |
|
Client service was denied. |
|
The client connected, but subsequently disconnected without sending a request. |
cqtx
field in a custom log file?In forward proxy mode, the
cqtx
field records the complete client request in the log file (for example,
GET http://www.company.com HTTP/1.0
).
In reverse proxy mode, the
cqtx
field records the hostname or IP address of the origin server because Traffic Server first remaps the request as per map rules in the
remap.config
file.
By default, the Traffic Server host database observes the time-to-live (ttl
) values set by name servers. You can reconfigure Traffic Server to ignore the ttl
set by name servers and use a specific Traffic Server setting instead. Alternatively, you can configure Traffic Server to compare the ttl
value set by the name server with the ttl
value set by Traffic Server, and then use either the lower or the higher value.
records.config
file located in the Traffic Server
config
directory.
proxy.config.hostdb.ttl_mode
to:
0
to obey ttl
values set by the name servers.
1
to ignore ttl
values set by name servers and instead use the value set by the Traffic Server configuration variable
proxy.config.hostdb.timeout
(make sure you set this variable to a value appropriate for your needs).
2
to use the lower of the two values (i.e., either the value set by the name server or the one set by Traffic Server).
3
to use the higher of the two values.
records.config
file.
bin
directory, run the command
traffic_line -x
to apply the configuration changes.
No, because Traffic Server can only respond to clients with a single text or HTML document. As a workaround, however, you can provide references on your custom response pages to images, animated .gifs, Java applets, or objects other than text which are located on a web server. Add links in the
body_factory
template files in the same way you would for any image in an HTML document (i.e., with the full URL in the SRC
attribute).
Yes. When you enable reverse proxy mode, Traffic Server remaps incoming requests according to the map rules in the
remap.config
file. All other requests that do not match a map rule are simply served in forward proxy mode.
If you want to run in reverse proxy
only
mode (wherein Traffic Server does not serve requests that fail to match a map rule), then you must set the configuration variable
proxy.config.url_remap.remap_required
to 1 in the
records.config
file.
The following table lists the troubleshooting tips discussed in this section.
Troubleshooting Tip |
---|
Traffic Server updates the throughput statistic after it has transferred an entire object. For larger files, the byte count increases sharply at the end of a transfer. The complete number of bytes transferred is attributed to the last 10-second interval, although it can take several minutes to transfer the object. This inaccuracy is more noticeable with a light load. A heavier load yields a more accurate statistic.
Traffic Line commands do not execute under the following conditions:
traffic_manager
process is not runningtraffic_manager
process is running by entering the following command: ps aux | grep traffic_manager
traffic_manager
process is not running, then enter the following command from the Traffic Server bin
directory to start it:./traffic_manager
start_traffic_server
and stop_traffic_server
commands to ensure that all the processes start and stop correctly. For more information, refer to Getting Started.
$TSHome/bin
bin
directory is not in your path, then prepend the Traffic Line commands with ./
(for example, ./traffic_line -h
).
/etc/traffic_server
cd `cat /etc/traffic_server`/bin
As part of the initial system preparation, you must synchronize the clocks on all nodes in your cluster. Minor time differences do not cause problems, but differences of more than a few minutes can affect Traffic Server operation.
You should run a clock synchronization daemon such as
xntpd
. To obtain the latest version of
xntpd
, go to
http://www.eecis.udel.edu/~ntp/
Data Missing
This document resulted from a POST operation and has expired from the cache. You can repost the form data to recreate the document by pressing the Reload button.
This is a Web browser issue and not a problem specific to (or caused by) Traffic Server. Because Web browsers maintain a separate local cache in memory and/or disk on the client system, messages about documents that have expired from cache refer to the browser's local cache and not to the Traffic Server cache. There is no Traffic Server message or condition that can cause such messages to appear in a web browser.
The browser indicates that it is contacting the host and then times out with the following message:
The document contains no data; Try again later, or contact the server's Administrator...
Make sure the system is configured correctly and that Traffic Server can read the name resolution file:
nslookup
command (for example, nslookup www.myhost.com
)./etc/resolv.conf
file contains valid IP addresses for your DNS servers./etc/resolv.conf
file is unreadable or has no name server entry, then the operating system uses localhost
as a name server. Traffic Server, however, does not use this convention. If you want to use localhost
as a name server, then you must add a name server entry for 127.0.0.1
or 0.0.0.0
in the /etc/resolv.conf
file.
/etc/resolv.conf
file. If it does not, then change the file permissions to rw-r--r--
(644
)The following message appears in the system log file:
WARNING: Maximum document size exceeded
A requested object was larger than the maximum size allowed in the Traffic Server cache, so Traffic Server provided proxy service for the oversized object but did not cache it. To set the object size limit for the cache, modify the
proxy.config.cache.limits.http.max_doc_size
variable in the
records.config
file. If you do not want to limit the size of objects in the cache, then set the document size to 0
(zero).
The following messages may appear in the system log file:
Feb 20 23:53:40 louis traffic_manager[4414]: ERROR ==>
[drainIncomingChannel] Unknown message: 'GET http://www.telechamada.pt/
HTTP/1.0'
Feb 20 23:53:46 louis last message repeated 1 time
Feb 20 23:53:58 louis traffic_manager[4414]: ERROR ==>
[drainIncomingChannel] Unknown message: 'GET http://www.ip.pt/ HTTP/1.0'
These error messages indicate that a browser is sending HTTP requests to one of the Traffic Server cluster ports - either rsport
(default port 8088) or mcport
(default port 8089). Traffic Server discards the request; this error does not cause any Traffic Server problems. The misconfigured browser must be reconfigured to use the correct proxy port. Traffic Server clusters work best when configured to use a separate network interface and cluster on a private subnet, so that client machines have no access to the cluster ports.
The following message appears repeatedly in the system log file:
traffic_cop[16056]: encountered "config/internal/no_cop" file...exiting
The file config/internal/no_cop
acts as an administrative control that instructs the traffic_cop
process to exit immediately without starting traffic_manager
or performing any health checks. The no_cop
file prevents Traffic Server from starting automatically when it has been stopped with the stop_traffic_server
command. Without this static control, Traffic Server would restart automatically upon system reboot. The no_cop
control keeps Traffic Server off until it is explicitly restarted with the
start_traffic_server
command.
The Traffic Server installation script also creates a
no_cop
file so that Traffic Server does not start automatically. After you have completed installation/configuration and have rebooted the operating system, use the
start_traffic_server
command to start Traffic Server.
vaddrs.config
If you manually edit the
vaddrs.config
file as a non-root user, then Traffic Server issues a warning message in the system log file similar to the following:
WARNING: interface is ignored: Operation not permitted
You can safely ignore this message; Traffic Server does apply your configuration edits.
always_query_destination
The variable
proxy.config.arm.always_query_dest
in the
records.config
file configures Traffic Server in transparent mode to ignore host headers and always ask for the IP address of the origin server. When you enable this variable, Traffic Server obtains the origin server IP address from the existing NAT map list rather than trying to resolve the destination hostname with a DNS lookup. As a result, logged URLs contain only IP addresses and no hostnames. However, explicit requests (nontransparent requests, including requests on port 80) fail, as there is no matching map in the NAT list. The always_query_destination
option works only on the primary proxy port.
Traffic Server only writes event log files when there is information to record. If Traffic Server is idle, then it's possible/probable that no log files exist. In addition:
logs
directory.
proxy.config.log2.logfile_dir
in the
records.config
file.
traffic_server
process is unable to open or create log files.
proxy.config.log2.logging_enabled
variable in the
records.config
file.
records.config
file, select the standard or custom format by editing variables in the
Logging Config
section.By default, Traffic Server supports 8000 network connections: half of this number is allocated for client connections and the remaining half is for origin server connections. A connection throttle event occurs when client or origin server connections reach 90% of half the configured limit (3600 by default). When a connection throttle event occurs, Traffic Server continues processing all existing connections but will not accept new client connection requests until the connection count falls below the limit.
Connection throttle events can occur under the following conditions:
If necessary, you can reset the maximum number of connections supported by Traffic Server by editing the value of the proxy.config.net.connections_throttle
configuration variable in the
records.config
file. Do not increase the connection throttle limit unless the system has adequate memory to handle the client connections required. A system with limited RAM might need a throttle limit lower than the default value. Do not set this variable below the minimum value of 100.
Under heavy load, the Linux kernel can run out of RAM. This low memory condition can cause slow performance and a variety of other system problems. In fact, RAM exhaustion can occur even if the system has plenty of free swap space.
Symptoms of extreme memory exhaustion include the following messages in the system log files (/var/log/messages
):
WARNING: errno 105 is ENOBUFS (low on kernel memory), consider a memory upgrade
kernel: eth0: can't fill rx buffer (force 0)!
kernel: recvmsg bug: copied E01BA916 seq E01BAB22
To avoid memory exhaustion, add more RAM to the system or reduce the load on Traffic Server.
Certain origin servers take longer than 30 seconds to post HTTP requests, which results in connection timeouts with Traffic Server. To prevent such connection timeouts, you must change the value of the configuration variable
proxy.config.http.connect_attempts_timeout
in the
records.config
file to 60 seconds or more.
IBM web servers do not support the TLS (Transport Layer Security) protocol. For IBM web servers to work with Traffic Server, you must edit a configuration variable.
records.config
file located in the Traffic Server config
directory.
Variable |
Description |
---|---|
|
Set this variable to |
records.config
file.bin
directory.
traffic_line -x
to apply the configuration changes.