Make sure you can download a file off the FastDL site, you don’t need the directory listing to be public but the files have to be (to test it, find a file you uploaded and try the direct link to it - example http://yoursite.com/garrysmod/models/model.mdl if it downloads your good).
In your server.cfg set sv_allowupload and sv_allowdownload to 0
Its a good idea to increase the net_maxfilesize so larger maps / other large files will download for clients.
Make sure the garrysmod directory on your FastDL site is mirrored to the server, make sure all the directory’s and files match. You only have to upload the needed files to the FastDL site such as the maps and cache folder. According to the wiki page these are all the folders you can mirror.
Remember if you want to add files from an addon (models, materials, sounds etc… ) you must pull it out of addon format (upload the models, materials, sound, resource folder from the addon to the correct folders on the FastDL site).
You do NOT need to upload the lua folder as all the client side lua is sent in the lua cache file. Big model packs such as SBEP are optional to upload unless you have the server send all the files in that pack (not a good idea).
Remember to upload the lua cache file anytime you add something to the server or make changes to any lua files.
It may be a good idea to clean out your folders on the FastDL after a while and re-upload fresh files, that way you may save a bit of space removing older unneeded files and it can help upload updated files you may have missed.
I like to move my addons, models, materals and sound folders out of my garrysmod folder on my client and join the server just to make sure everything is downloading right. Since you have the files the server wont try and send them to you, but players without those files may be stuck trying to download them over and over again if you forgot to add something.
Hope that helps a bit, remember to check out the sv_downloadurl article on the wiki if you have not already.