FreeTDS User Guide: A Guide to Installing, Configuring, and Running FreeTDS
Prev | Chapter 8. Troubleshooting | Next

# Slow connection or data retrieval

FreeTDS is not slow. We know this because we've tested it. It's measurably slower than the vendors' products for some operations, but it's not noticeably slower and it's certainly no laggard. If your experience is different, if you're waiting 30 seconds for simple operations or minutes instead of seconds for for query results, something is up with your setup. There are two likely culprits.

- Logging. If everything seems a bit sluggish, check to make sure logging is turned off. `TDSDUMP` should not be defined, and there should be no `dump file` mentioned in `freetds.conf`. You can double-check by setting `TDSDUMPCONFIG` temporarily, which will log only the startup process.

- DNS. If connecting to the server takes 30 seconds or 1 minute, you could do worse than to check your `resolv.conf`. Use host or nslookup to confirm that FreeTDS can actually resolve the name/address you provided in `freetds.conf`. Give particular attention to reverse DNS lookups, if you were forced (or thought you were forced) to identify the server by number, instead of by name, as Vint intended. You can defeat FreeTDS's automatic reverse-DNS lookup feature by inserting

      		#define NOREVERSELOOKUPS

  in `src/tds/config.c`, rebuilding, and reinstalling.

  | Reverse lookup code has been removed as of version 0.62 due to wrong implementation.

- Packet size. Check packet size setting on `freetds.conf` (see `initial block size`). Default value (no configuration) is usually fine. The slowness is due to multiple packet to use. Under GNU/Linux system we use an optimization to reduce network traffic so you shouldn't see much difference using this system.

Prev | Home | Next
"Page contains no data" | Up | Getting Help