Fortinet white logo
Fortinet white 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
  • network devices such as NAS for remote storage

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)
Note

Performance bottlenecks are usually:

  • Network bandwidth to and from FortiRecorder

    Separate network and a dedicated port on FortiRecorder for camera connections only are recommended. Lower resolution, quality, or frame rate for the live video stream is recommended.

    To troubleshoot issues such as high bandwidth usage, video stream gaps, or dropped (skipped) packets or frames for each camera, go to:

    • FortiView > Camera Statistics > Bandwidth

    • FortiView > Camera Statistics > Advanced.

  • CPU of computers with FortiCentral or web browsers

    Displaying multiple video streams at the same time is CPU-intensive.

See also Sizing guidelines.

Computer CPU usage

If you need to view 8 or more live video streams simultaneously, then for less powerful computers, you might need to optimize CPU usage. If the video "freezes" or motion is not smooth, or if cameras do not quickly respond to PTZ controls:

  1. Use diagnostic tools (for example, Task Manager on Microsoft Windows). Examine CPU usage while you are experiencing video problems to verify that the cause is not other software.

    Ideally, the CPU usage should be below 50%.

  2. For each camera, create another video profile. Reduce the video resolution, quality, and/or frames per second until performance is good, and then in the camera profile's Viewing stream profile, select the new video profile.

    For live video, 10 FPS is often enough. 30 FPS might be required if the camera records an area with more movement, but causes significantly more CPU usage.

See also Configuring video profiles and the FortiCentral User Guide.

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 some recording type and storage settings. See About recording types.

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 vs. constrained bit rate video

Bandwidth used by the video stream is determined by the Bitrate mode setting.

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.

Constrained bit rate mode is a combination of variable and constant. Bitrate adjusts to meet the quality target, but cannot exceed the maximum.

You can monitor the effect of bitrate on video storage capacity, retention, and network bandwidth. See Using the dashboard.

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
  • network devices such as NAS for remote storage

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)
Note

Performance bottlenecks are usually:

  • Network bandwidth to and from FortiRecorder

    Separate network and a dedicated port on FortiRecorder for camera connections only are recommended. Lower resolution, quality, or frame rate for the live video stream is recommended.

    To troubleshoot issues such as high bandwidth usage, video stream gaps, or dropped (skipped) packets or frames for each camera, go to:

    • FortiView > Camera Statistics > Bandwidth

    • FortiView > Camera Statistics > Advanced.

  • CPU of computers with FortiCentral or web browsers

    Displaying multiple video streams at the same time is CPU-intensive.

See also Sizing guidelines.

Computer CPU usage

If you need to view 8 or more live video streams simultaneously, then for less powerful computers, you might need to optimize CPU usage. If the video "freezes" or motion is not smooth, or if cameras do not quickly respond to PTZ controls:

  1. Use diagnostic tools (for example, Task Manager on Microsoft Windows). Examine CPU usage while you are experiencing video problems to verify that the cause is not other software.

    Ideally, the CPU usage should be below 50%.

  2. For each camera, create another video profile. Reduce the video resolution, quality, and/or frames per second until performance is good, and then in the camera profile's Viewing stream profile, select the new video profile.

    For live video, 10 FPS is often enough. 30 FPS might be required if the camera records an area with more movement, but causes significantly more CPU usage.

See also Configuring video profiles and the FortiCentral User Guide.

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 some recording type and storage settings. See About recording types.

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 vs. constrained bit rate video

Bandwidth used by the video stream is determined by the Bitrate mode setting.

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.

Constrained bit rate mode is a combination of variable and constant. Bitrate adjusts to meet the quality target, but cannot exceed the maximum.

You can monitor the effect of bitrate on video storage capacity, retention, and network bandwidth. See Using the dashboard.