I am new to EE and one of my sites is running very slow and tends to hang sometimes when users try to register or upload documents. What would be the cause of this? I have already enabled the gzip output setting in EE, but is there another way to free up memory of an EE website or any way I can resolve this?
1) gzip output from EE will actually add slight overhead, better if you are on a virtual server to enable mod_deflate in apache, or use a hosting provider that offloads that to compression hardware to compress html, css, js. Much more optimal than having php do the compression.
2) Make sure you php 5.2, 5.3 or 5.4 you have something like APC bytecode caching enabled, or have php 5.5 which has its own bytecode caching will lower memory usage and increase performance.
3) Highly recommend not using EE's internal caching systems at all and use something like CE Cache which caches things in a much more optimal way.
Without seeing your template code it's only possible for us to guess. Typically though, EE performance problems are caused by one or several of items #1 #3 and #4 on this list:
one of my sites was too running very slow, the problem came from the htaccess file.
I used the htaccess model from the EE doc, and the pages was loading in 8-10 seconds, I tried many other htaccess config, now it take less of one second.
To check if the problem come from of htaccess or not, rename your htaccess in htaccess_off, and try mysite/index.php/page in place of mysite/page. If the page goes faster with mysite/index.php/page, the problem come from de htaccess.