Symptoms
You may see the cases when under load/during business hours K2 smartforms performance becomes extremely slow (any form takes minutes to load) and only K2 service restart temporarily resolves this issue. At the time when such issues occur you may also see that there is high CPU and RAM usage on K2 server and also high RAM usage by IIS worker process as well as big queue of long running queries in IIS queue (queue execution time is growing overtime).
Diagnoses
In most of the cases such issues are sign of a problems with custom code, workflow design or underlying infrastructure and very rarely such issues can be caused by K2 platform itself (apart from the cases when it has been misconfigured).
When you see such symptoms you have to review all K2 logs as well as look at performance counters and OS logs of involved servers (K2, SQL, IIS) to look for a clues about root cause. Also you may try to temporarily disable your custom code components to see if they are causing your issues.
Following checks can be verified in similar cases:
1. In case if there is an indication that your issues associated with one large process you can consider splitting into number of smaller processes.
2. Audit your custom code as sometimes it can be inefficient or cause excessive load on your server. Example: K2 PENS service which available on K2 community site (http://community.k2.com/t5/General-K2-Utilities/K2-Process-Error-Notification-Service-Version-3-K2-PENS/ba-p/65970) has some issues with the way .NET Razor objects are being used.
3. It makes sense to place K2 database on dedicated SQL instance, which equipped with adequate hardware resources and runs up-to-date version of Microsoft SQL Server. If this is not possible audit performance of SQL server which hosts your K2 DB. Watch out for performance counters and heavy SSIS packages which potentially may cause spikes in resource usages (those SSIS packages can be configured for some other than K2 databases hosted by your SQL server).
6. In case you are run virtualized K2 servers it is recommended to make sure that K2 server(s) VM does not placed on the same virtualization host with virtual servers which run Exchange or SharePoint as typically this causes performance issues.
Resolution
Each of such cases has to be investigated separately but you may find some generic advice/list of points to check above.