How to estimate optimal fees for transaction in bitcoind? As I understand, with the network congestion it's sometimes advisable to set a higher fee to process a transaction within a block or two. Is there some way to estimate the optimal fee through calls to bitcoind? I know there are some online services that do those estimations, but I'd rather not rely on such external factors.
The other answer is outdated. estimatefee is deprecated.
You should use estimatesmartfee


  Please use estimatesmartfee for more intelligent estimates.
  Estimates the approximate fee per kilobyte needed for a transaction to begin
  confirmation within nblocks blocks. Uses virtual transaction size of transaction
  as defined in BIP 141 (witness data is discounted).
  
  Arguments:
  1. nblocks     (numeric, required)


Example:

bitcoin-cli estimatesmartfee 6