DISCARD resets your database connection to "factory default".
I guess you're using some form of connection pooling. That's a good thing because opening a connection consumes a significant amount of CPU. However, before reusing a connection, it has to be reset, which is what DISCARD does.
The high number of DISCARDs is probably just a consequence of a high number of clients getting connections from the pool to do some work. So, a symptom of your issue, but not the cause.
If you're seeing a huge number of DISCARD's compared to other queries, then... maybe you have something that opens and closes a connection in a loop, or opens a connection every time it wants to do a query instead of keeping it open.