There are many Websites that can be used to check what is the optimum fee to do the transaction at a normal speed. The fees is dependent on the amount of transaction. The transaction amount holds the space in the block and it is the space for which the transaction fee is given. The higher size of the transaction, the higher fees it takes for the transaction. For instance you could this website
https://btc.com/stats/unconfirmed-tx to check how much is the optimum fee. It also shows the number of unconfirmed transactions in mem pool. You can also verify
https://bitcoinfees.earn.com/ for the fees.
This guy seems to pretty much have covered all the bases on this one; but I would just like to add something that I was unaware of until recently. Another legendary member around here explained to me that the size(Bytes) of your transaction is not dependent on the amount of bitcoin; the size of the transaction is determined by the amount of
inputs the transaction you're attempting to send has.
Inputs are determined by how many transactions you received to accumulate the amount you are trying to send. For example, if you are trying to send .01 and you received ten transactions of .001 to acquire this sum you will have ten inputs for this transaction; In contrast if you are trying to send that same .01, but received it in 1-transaction as opposed to 10, the transaction fee will be 10-times less. Each input generally adds about 180-bytes onto the transaction size (I think?)
As the guy above said, transaction size is what determines the fee, you can do so on the sites they provided; I sent a transaction the other night with a fee of 111.5 Satoshi per Byte, and a transaction with a fee of 175 Satoshi per Byte simultaneously and one took 3-days while the other took 3-minutes.