There are two likely causes when you see a large number of users in the “0 sec” session data point in the User Session chart.
Potential cause #1: Out-of-session events
max(client_event_time) - session_id
So if you want these events to be considered part of a session, the session ID should be a timestamp reflecting the beginning of the session in epoch time.
Potential cause #2: You're tracking the Start Session event, but no other events
Start/End session events is enabled for the project (using Android SDK or iOS SDK), a
Start Session event is sent to Amplitude when the app is launched in the foreground. If no other events are logged in Amplitude after this, the session length is set to zero.
Amplitude's Microscope feature lets you examine a given user’s activity, so you can quickly determine whether either of these potential causes is the issue.