Support Forum
The Forums are a place to find answers on a range of Fortinet products from peers and product experts.
Brent
New Contributor

Internet Connection Speed

Hi, 

 

First time poster here, so hopefully I got the most appropriate thread.

 

I have just purchased a Fortigate 600c firewall to route my home office network to the internet.  I have two ISPs and am on a 1Gb plan with both of them.

 

When I connect the basic routers that were provided from each ISP I get close to what is promised 900 Mb+.  However, when I run my connections through the Fortigate, I am only getting circa 500 Mb.  (As tested using Speedtest.net)

 

I previously had a Fortigate 200b, which gave me the same speeds, and while investigating I noted that the CPU of the fortigate was maxing out.  Actually, initially I was getting slower speeds but after turning off logging it increased to around the 500 mark.

 

I thought okay, the CPU isn't powerful enough to handle what I wanted, so I kept an eye out for a second hand later model when I found the 600c being sold locally.  Checking the specs on the 600c and seeing that it has 2.5 Gbps IPS I thought this would be powerful enough to give me closer to the 1 Gbps speeds.

 

Is there any way I can tweak the fortigate to get better performance, or does anyone have any ideas as to why I am not getting the speeds as advertised?

 

I'm running FortiOS 5.4, not using WAN LLB (as I require VPN).  Other than this the Fortigate is functioning as I require;

* Seperate Network for myself and my flatmates (I can't have them accessing the VPN to work)

* Traffic routed through specific ISP for specific tasks (Mail through one, other traffic through another)

* Reverse Proxy

 

Thanks

 

Brent

 

2 Solutions
rwpatterson
Valued Contributor III

From a Windows work station:

Get to the command prompt ("CMD" from the start box/globe thing)

In the open window, type:

C:\windows\system32> ping -f -l <packet size> <IP address>

 

The Ethernet packet size on the WAN maxes out at 1500, so start there and decrease until you get a valid response. The "-f" tells the network to not fragment the packets. This will prevent the ping from happening until the entire PING packet can be transmitted. When you get this number, set this on your WAN interface in the GUI. This will then enable communications over the Internet without either end having to break down and reassemble the traffic to traverse the Internet.

 

Hope that helps.

Bob - self proclaimed posting junkie!
See my Fortigate related scripts at: http://fortigate.camerabob.com

View solution in original post

Bob - self proclaimed posting junkie!See my Fortigate related scripts at: http://fortigate.camerabob.com
ede_pfau
Esteemed Contributor III

I would have checked first if this phenomenon is connected to the WAN port and/or protocols.

Please run a performance test between 2 hosts on your LAN, both with GbE ports, AV disabled. I usually use iperf for this as the same exe-file contains the server and the client.

You should see wirespeed here.

 

If you don't there is a problem within FortiOS such as the traffic offloading to the network ASIC (NP) being disabled. Have you reset the unit after purchase to factory defaults ("exec factoryreset") before configuring it? Beware that this command will delete all of the config.

 

If you do see wirespeed between LAN ports I would investigate the WAN protocol used. How do you connect to your IPS(s)? DHCP, PPPoE, static IP? There is a known gotcha with PPPoE processing in FortiOS. Cheap but dedicated WAN routers use a special chip to handle the protocol, FortiOS doesn't. It might well suck up the CPU performance if the WAN line speed is in excess of 100 Mbps for desktop models, higher speeds for multi-core FGTs like yours.

 

The 600C itself is very capable, with decent memory size, content ASIC (CP) and network ASIC (NP) for offloading chores off the CPU. CPU will mostly handle session setup, negotiations (IPsec, SSLVPN, PPPoE, DHCP), logging and GUI. Plus some more but will usually stay out of the way of running session traffic. That's why you would expect wirespeed performance on GbE ports. IMHO the specs on the datasheet come quite close to realworld figures.

 

Lastly, if you're running FOS v5.4 do update to the latest build (v5.4.6). Each patch version will fix some bugs and possibly improve throughput (while adding features which introduce more bugs...). For a used unit without contract this will be, hm, difficult but you may well ask FTNT for a contract. FortiCare will do (firmware updates, warranty extension) but of course FortiGuard would be more beneficial for you (AV, IPS, botnet IP blacklist, webfilter,...). If such contracts are no longer available from the regular price list you could ask FTNT for a 'coterm quote'.

 

Happy testing!


Ede

"Kernel panic: Aiee, killing interrupt handler!"

View solution in original post

Ede"Kernel panic: Aiee, killing interrupt handler!"
22 REPLIES 22
packetpusher
Contributor

You can start with setting a baseline. 

 

"Is there any way I can tweak the fortigate to get better performance, or does anyone have any ideas as to why I am not getting the speeds as advertised?"

There is way, we just need to know what is the root cause for the described issue. For example, CPU & high memory utilization.

Brent

Thanks for your reply.

 

I'm not sure what you mean by setting a baseline.  I know what a baseline is, but I'm not sure how it applies here, can you give me more information about what you mean?

 

Regarding the CPU and Memory utilization, I did forget to mention that once I switched to the 600c the memory and cpu utilization were not excessive.

 

CPU Usage: 12%

Memory Usage : 19 %

 

packetpusher

I wanted to ask you to start recording the values of each test and the corresponding CPU and Memory utilization. 

Brent

Okay, 

 

So I have done multiple tests, including running a test on the same device multiple times, on multiple devices at the same time.  All using speedtest.net to the ISP's Speedtest server.  On average I get between 500 and 650 Mbs download, CPU Usage doesn't exceed 10-13%, and Memory Usage remains constant at 20%.

 

Does that help?

 

packetpusher

Did you check the speed & duplex? Any errors? Cables are Cat5e and above?

packetpusher

BTW, is this a broadband connection? Also, is the firewall in production whereas during the test there is a inbound/outbound  traffic originating from the WAN or LAN?

 

Brent

mstoyanoff wrote:

Did you check the speed & duplex? Any errors? Cables are Cat5e and above?

As per the original post, if I swap the fortigate with the ISP supplied router, I get speeds in excess of 900Mbs.  This is using the same infrastructure (cables, switches, devices).  Are there any speed and duplex settings on the Fortigate? I can't see any.

 

mstoyanoff wrote:

BTW, is this a broadband connection? Also, is the firewall in production whereas during the test there is a inbound/outbound  traffic originating from the WAN or LAN?

 

This is a Fibre connection.  No, this is not in production, there is no other traffic originating from the WAN or LAN during testing.

 

Thanks

rwpatterson
Valued Contributor III

Have you tried a simple PING test with various packet sizes? May be a fragmentation issue.

Bob - self proclaimed posting junkie!
See my Fortigate related scripts at: http://fortigate.camerabob.com

Bob - self proclaimed posting junkie!See my Fortigate related scripts at: http://fortigate.camerabob.com
Brent

rwpatterson wrote:

Have you tried a simple PING test with various packet sizes? May be a fragmentation issue.

How would I go about doing that?  I'm afraid I'm not a network expert and have only ever used ping to confirm connection.

Top Kudoed Authors