why my MySQL binary log file size is so small?
Is your MySQL Server restarting?  Check your uptime:

SHOW GLOBAL STATUS LIKE 'uptime';

The binary log gets closed at shutdown, and a new binary log created at startup.  The fact that you get "MySQL server has gone away" while querying above might also suggest the server restarted.