I recently ran some tests on one of my testnet nodes and found out that my average transaction takes between 30 seconds to 2 minutes to confirm, despite the block times being at around 15 seconds. I wonder what would be the be the best way to speed up transaction confirmation time to make sure they get into a block faster. Connect directly to miners, some relay services, etc?
Miners pick up transactions by their gas cost. You can set gas price (not maximum gas limit) for your transaction. Take the default gas price value and multiple it with 2x - 3x for urgent transactions.
Ps. Currently Ethereum is receiving "transaction spam". Somebody is burning money to useless transactions to slow down the network. However even in its slowed down form Ethereum network is quite fast compared to other cryptocurrency networks. This issue will be resolved in long term: