Load balancing of general internet in ASA 5520?

I got one ASA 5520. We have 2 ISP's and each of them terminate in this ASA. Is it possible to do load balancing of general internet traffic in ASA 5520 so that some traffic go via ISP1 and remaining go via ISP2? I am not really concerned about the VPN traffic at the moment.

You can have two default routes one pointing to one ISP and the other pointing to other ISP. But both cannot have same metric. One of them need to be of slightly higher metric. Having said that, while traditionally the firewall does not support load balancing, there is a workaround through which, as an administrator, you can do some sort of loadbalancing. Here are couple of scenarios:

You have two inside interfaces (Inside1 and Inside2) and you want ALL users in Inside1 to use ISP1 and ALL users in Inside2 use ISP2. This scenario can be implemented in ASA and ASA will send the traffic accordingly. Here is a sample configuration for this scenario:

static (ISP2,inside2) 0.0.0.0 0.0.0.0 netmask 0.0.0.0

route ISP1 0.0.0.0 0.0.0.0

route ISP2 0.0.0.0 0.0.0.0 254

global (ISP2) 10 interface (or any other IP)

nat (Inside2) 10 0.0.0.0 0.0.0.0

global (ISP1) 1 interface (or any other IP)

nat (inside1) 1 0.0.0.0 0.0.0.0

In this example, all traffic from Inside2 subnet will be forwarded to ISP2 and all traffic from Inside1 will go normally to ISP1.

In another scenario, let's say you just have one inside subnet and you want to send all HTTP/HTTPS/SMTP traffic through ISP2 and everything else via ISP1.

static (ISP2,inside) tcp 0.0.0.0 WWW 0.0.0.0 WWW netmask 0.0.0.0

static (ISP2,inside) tcp 0.0.0.0 HTTPS 0.0.0.0 HTTPS netmask 0.0.0.0

static (ISP2,inside) tcp 0.0.0.0 SMTP 0.0.0.0 SMTP netmask 0.0.0.0

route ISP1 0.0.0.0 0.0.0.0

route ISP2 0.0.0.0 0.0.0.0 254

global (ISP2) 10 interface (or any other IP)

nat (Inside2) 10 0.0.0.0 0.0.0.0

global (ISP1) 1 interface (or any other IP)

nat (inside1) 1 0.0.0.0 0.0.0.0

Last, but not the least, you can always have traffic destined to specific subnets or hosts go via ISP2. This will be helpful if you have site-to-site VPNs where all your VPN traffic could go via ISP2 and all your regular internet traffic can go via ISP1.

The first option you mentioned "You can have two default routes one pointing to one ISP and the other pointing to other ISP. But both cannot have same metric. One of them need to be of slightly higher metric." is destination based static routing, right?