What does allowhighfees in sendrawtransaction actually does? lets say.

i have created a raw transaction with inputs = outputs aka setting 0 fees.

so when i do 

bitcoin-cli sendrawtransaction &lt;signed_hex&gt; 1


1 is for allowhighfees 

what it actually does ?
if it increases fees ? then how much ? 

how much fees does it sets per byte ?

What if there is not much satoshis in input to cover the fees ?
The fee is whatever you define in the raw transaction, based on the difference between inputs and outputs.  sendrawtransaction never changes it.  However, as a safety measure, it will normally reject your transaction if the fee exceeds a certain "absurd" threshold, so that you don't accidentally lose a lot of coins by miscalculating your raw transaction.  If you set the allowhighfees parameter, this check is disabled, and you can send a transaction with fees as high as you wish.

The threshold value can be set with the maxtxfee command line / config file option.