Fortinet black logo

Administration Guide

Optimizing performance

Optimizing performance

When configuring your FortiRecorder, many settings and practices can yield better performance.

All deployment components can affect performance:

  • FortiRecorder
  • cameras
  • computer with FortiCentral or a web browser that connects to FortiRecorder

Total performance is a combination of:

  • input—video compression, image quality, image complexity, video resolution, frame rate, number of cameras
  • output—to either FortiCentral or a web browser, for both live video streams and playing previous recordings
  • storage—copies of video files for each motion detection clip, or only markers in an existing continuous recording (markers are smaller than copies of large video files)

Performance bottlenecks are often:

  • network bandwidth usage to and from FortiRecorder
  • CPU usage of the computer

FortiCentral or your web browser must decode and render the video streams from the FortiRecorder. Displaying multiple video streams is CPU intensive.

See also Sizing guidelines.

Computer CPU usage

If you need to simultaneously display 8 or more live video streams from cameras, then depending on how powerful the computer hardware is, you might need to improve CPU usage.

Playing many videos can cause high CPU usage. (RAM is less important than CPU for rendering video.) If you experience video where the motion "freezes" or is not smooth, or if cameras do not quickly respond to PTZ controls, then use the diagnostic tools available on your OS (such as Task Manager on Microsoft Windows) to examine CPU usage while you are experiencing video problems. If possible, keep the CPU usage below 50%.

To optimize performance, you can use the video and camera profiles. Define and assign another video stream for each camera. Reduce the video resolution, quality and/or frames per second of the other video stream. This can increase the number of live views that the computer can display, or reduce the CPU usage.

For live video streams, 10 FPS is often enough. It significantly reduces the system resource load on your computer compared to 30 FPS, which might be required if the camera records an area with more movement.

See Configuring video profiles

FortiRecorder RAM and CPU usage

Delete or disable unused cameras. FortiRecorder allocates memory with each camera, regardless of whether it is currently receiving video from it. Extra cameras increase memory usage.

CPU usage can also increase if you configure Storage Options.

Logging and alert performance

If you have a FortiAnalyzer appliance, store the logs from FortiRecorder on FortiAnalyzer to avoid system resource usage associated with writing logs to the hard disks on FortiRecorder. See Configuring log settings.

If you do not need a log or alert, disable it to reduce the use of system resources.

Reduce repetitive log messages. Use the alert email settings, to define the interval that emails are sent if the same condition persists following the initial occurrence. See Configuring alert email.

Avoid recording log messages using low severity thresholds, such as information or notification, to the local hard disk for an extended period of time. Excessive logging frequency saps system resources and can cause undue wear on the hard disk and may cause premature failure.

Packet capture performance

Packet capture can be useful for troubleshooting but can be resource intensive. To minimize the performance impact on your FortiRecorder appliance, use packet capture only during periods of minimal traffic. Use a local console CLI connection rather than a Telnet or SSH CLI connection, and stop the command when you are finished.

Network bandwidth usage

To reduce latency associated with DNS queries, use a DNS server on your local network as your primary DNS.

Bandwidth usage correlates with the number of simultaneous video streams, video bit rate, and storage options (local or remote). See also Bandwidth per camera, Configuring log settings, Configuring video profiles, and Configuring camera profiles.

Video performance

Video performance is a combination of the video input (from the cameras) and the video output (to the browser for live views and playback).

Input performance factors

  • Maximum number of cameras streaming to the FortiRecorder simultaneously
  • Recording schedule (motion detection-triggered only or continuous)
  • Video resolution, frame rate, and image quality

Output performance factors

  • Number of user sessions
  • Number of live camera views per user session
  • Maximum number of simultaneous live views by users

Resolution has the most impact on the overall performance.

  • Low resolution — n MB/s
  • Medium resolution — 2n MB/s
  • High resolution — 6n MB/s

High resolution video generates 3 times as much raw data as the default, medium resolution. If a raw video stream cannot be efficiently compressed, then the result is that bandwidth and/or disk space required per camera, and per login session, are multiplied.

For example, for a FortiCam-20A camera, FortiRecorder can store on its local hard drive about 36 days' worth of high resolution video, but about 240 days' worth of low resolution video.

Amount of motion in the camera's field of view also affects performance. Constant and/or rapid motion or color changes result in larger files and video streams, because video compression cannot encode it as efficiently. To improve compression, exclude areas of irrelevant motion such as fans or blinking lights from the camera's field of view.

For sizing guidelines and estimates on the amount of video that you will be able to store, contact your reseller. Alternatively, expand your storage by configuring a network storage location (see Configuring external storage ).

Variable vs. constant bit rate video

Variable bit rate mode means that the network bandwidth used by the camera varies by:

  • video profile settings
  • what the camera records

People and things that move or have flashing lights also result in more bandwidth usage. High resolution video profiles use more bandwidth than medium or low resolution (see Bandwidth per camera).

Constant bit rate mode means that the bandwidth used by the camera is relatively constant, regardless of what the camera records. It is more predictable in deployments where bandwidth and/or storage capacities are limited. Bandwidth used by the video stream is determined by the bit rate setting.

In general, variable bit rate mode has relatively consistent video quality, but bandwidth varies. Constant bit rate mode has video quality that varies, but predictable bandwidth. You can choose a constant bit rate mode with more bandwidth to avoid lower quality that can otherwise occur during rapid motion, but the compromise is that it uses unnecessary bandwidth when there is no activity.

Usually, there is little difference in video quality between variable and constant bit modes (assuming the same screen resolution and frame rates), and the constant bit rate mode gives more reliable output from cameras.

Optimizing performance

When configuring your FortiRecorder, many settings and practices can yield better performance.

All deployment components can affect performance:

  • FortiRecorder
  • cameras
  • computer with FortiCentral or a web browser that connects to FortiRecorder

Total performance is a combination of:

  • input—video compression, image quality, image complexity, video resolution, frame rate, number of cameras
  • output—to either FortiCentral or a web browser, for both live video streams and playing previous recordings
  • storage—copies of video files for each motion detection clip, or only markers in an existing continuous recording (markers are smaller than copies of large video files)

Performance bottlenecks are often:

  • network bandwidth usage to and from FortiRecorder
  • CPU usage of the computer

FortiCentral or your web browser must decode and render the video streams from the FortiRecorder. Displaying multiple video streams is CPU intensive.

See also Sizing guidelines.

Computer CPU usage

If you need to simultaneously display 8 or more live video streams from cameras, then depending on how powerful the computer hardware is, you might need to improve CPU usage.

Playing many videos can cause high CPU usage. (RAM is less important than CPU for rendering video.) If you experience video where the motion "freezes" or is not smooth, or if cameras do not quickly respond to PTZ controls, then use the diagnostic tools available on your OS (such as Task Manager on Microsoft Windows) to examine CPU usage while you are experiencing video problems. If possible, keep the CPU usage below 50%.

To optimize performance, you can use the video and camera profiles. Define and assign another video stream for each camera. Reduce the video resolution, quality and/or frames per second of the other video stream. This can increase the number of live views that the computer can display, or reduce the CPU usage.

For live video streams, 10 FPS is often enough. It significantly reduces the system resource load on your computer compared to 30 FPS, which might be required if the camera records an area with more movement.

See Configuring video profiles

FortiRecorder RAM and CPU usage

Delete or disable unused cameras. FortiRecorder allocates memory with each camera, regardless of whether it is currently receiving video from it. Extra cameras increase memory usage.

CPU usage can also increase if you configure Storage Options.

Logging and alert performance

If you have a FortiAnalyzer appliance, store the logs from FortiRecorder on FortiAnalyzer to avoid system resource usage associated with writing logs to the hard disks on FortiRecorder. See Configuring log settings.

If you do not need a log or alert, disable it to reduce the use of system resources.

Reduce repetitive log messages. Use the alert email settings, to define the interval that emails are sent if the same condition persists following the initial occurrence. See Configuring alert email.

Avoid recording log messages using low severity thresholds, such as information or notification, to the local hard disk for an extended period of time. Excessive logging frequency saps system resources and can cause undue wear on the hard disk and may cause premature failure.

Packet capture performance

Packet capture can be useful for troubleshooting but can be resource intensive. To minimize the performance impact on your FortiRecorder appliance, use packet capture only during periods of minimal traffic. Use a local console CLI connection rather than a Telnet or SSH CLI connection, and stop the command when you are finished.

Network bandwidth usage

To reduce latency associated with DNS queries, use a DNS server on your local network as your primary DNS.

Bandwidth usage correlates with the number of simultaneous video streams, video bit rate, and storage options (local or remote). See also Bandwidth per camera, Configuring log settings, Configuring video profiles, and Configuring camera profiles.

Video performance

Video performance is a combination of the video input (from the cameras) and the video output (to the browser for live views and playback).

Input performance factors

  • Maximum number of cameras streaming to the FortiRecorder simultaneously
  • Recording schedule (motion detection-triggered only or continuous)
  • Video resolution, frame rate, and image quality

Output performance factors

  • Number of user sessions
  • Number of live camera views per user session
  • Maximum number of simultaneous live views by users

Resolution has the most impact on the overall performance.

  • Low resolution — n MB/s
  • Medium resolution — 2n MB/s
  • High resolution — 6n MB/s

High resolution video generates 3 times as much raw data as the default, medium resolution. If a raw video stream cannot be efficiently compressed, then the result is that bandwidth and/or disk space required per camera, and per login session, are multiplied.

For example, for a FortiCam-20A camera, FortiRecorder can store on its local hard drive about 36 days' worth of high resolution video, but about 240 days' worth of low resolution video.

Amount of motion in the camera's field of view also affects performance. Constant and/or rapid motion or color changes result in larger files and video streams, because video compression cannot encode it as efficiently. To improve compression, exclude areas of irrelevant motion such as fans or blinking lights from the camera's field of view.

For sizing guidelines and estimates on the amount of video that you will be able to store, contact your reseller. Alternatively, expand your storage by configuring a network storage location (see Configuring external storage ).

Variable vs. constant bit rate video

Variable bit rate mode means that the network bandwidth used by the camera varies by:

  • video profile settings
  • what the camera records

People and things that move or have flashing lights also result in more bandwidth usage. High resolution video profiles use more bandwidth than medium or low resolution (see Bandwidth per camera).

Constant bit rate mode means that the bandwidth used by the camera is relatively constant, regardless of what the camera records. It is more predictable in deployments where bandwidth and/or storage capacities are limited. Bandwidth used by the video stream is determined by the bit rate setting.

In general, variable bit rate mode has relatively consistent video quality, but bandwidth varies. Constant bit rate mode has video quality that varies, but predictable bandwidth. You can choose a constant bit rate mode with more bandwidth to avoid lower quality that can otherwise occur during rapid motion, but the compromise is that it uses unnecessary bandwidth when there is no activity.

Usually, there is little difference in video quality between variable and constant bit modes (assuming the same screen resolution and frame rates), and the constant bit rate mode gives more reliable output from cameras.