if I were to send 0.002 bitcoin from a single address to 30 different addresses, would the fees be high?
That depends on how you received that 0.002 bitcoin. If you received it in a single payment, then it could be used as a single input to the transaction that you send. If you received it as 4 separate 0.0005 BTC payments, then it would need to be used as 4 inputs to the transaction that you send.
A transaction starts as 10 bytes for the framework of the transaction.
Each input adds 148 bytes to the transaction.
Each output adds 34 bytes to the transaction.
Lets assume that you received the 0.002 bitcoin as a single payment and therefore can use it as a single input to the transaction.
That means that your transaction will have 1 input and 30 outputs.
10 + (1 X 148) + (30 X 34) =
1178 bytes.
According to
https://bitcoinfees.21.co/ if you want fast confirmation (in the next block or two) of a transaction that you send right now while I'm writing this post, then you'll need to pay a fee of about
0.00000360 BTC per byte1178 bytes X 0.00000360 BTC per byte =
0.00424080 BTC fee.
would the transaction go on even if I set a low fee?
That depends on how low of a fee, how long you are willing to wait, and whether or not you, your wallet software, or one of the recipients will re-broadcast the transaction regularly.
would it take really long?
That depends on how low of a fee, how long you are willing to wait, and whether or not you, your wallet software, or one of the recipients will re-broadcast the transaction regularly.