Tempesta Technologies
  • Home
  • Tempesta FW
    • Features
      • Web acceleration
      • Load balancing
      • Application performance monitoring
    • Performance
    • How it works
    • Deployment
    • Support
    • Knowledge base
  • Services
    • Software development
      • High performance
      • Networking
      • Databases
      • Linux kernel
      • Machine learning
      • How we work
      • Case studies
    • Performance analysis
    • Network security
      • DDoS protection
      • Application security
      • Cryptography
      • Security assessment
      • How we work
      • Case Studies
  • Solutions
    • DDoS Protection
    • Web Acceleration
  • Blog
  • Company
    • Research
    • Careers
    • Contact
Tempesta Technologies

Run and stop

Prepare to Start🔗

Tempesta FW requires the patched Linux kernel. It can be built from sources or installed from binary packages. Boot to the patched kernel before running Tempesta FW.

Optionally, add kernel parameter tempesta_dbmem to the kernel command line. The value is the amount of memory reserved for the Tempesta database, which is allocated across all NUMA nodes and divided proportionally among them. The default value is 512M. Minimum value is 32MB per node. For example, for two nodes, minimum will be 64MB. The value is 2MB aligned.

Syntax: tempesta_dbmem=value[KMG]

Example: tempesta_dbmem=1G

This memory area is used by Tempesta DB tables, so the size of the area must be greater or equal to the sum of sizes of all the tables. At this moment following tables are used (this may change with next releases):

  • web cache table. If NUMA replicated mode is used, then you need to multiply the cache_size by the number of NUMA nodes. Default mode is replicated and default size is 256MB, so by default if you run on 2 physical processors, then you need 512MB for web cache.

  • IP filter table, defined by filter_tbl_size, 16MB by default.

  • HTTP sessions table, controlled with sessions_tbl_size, 16MB by default.

  • clients accounting, controlled with client_tbl_size, 16MB by default.

Startup script🔗

A simple startup provided with Tempesta FW sources is able to load Tempesta FW kernel modules, configure network adapters for better performance and start Tempesta FW. The same script can also be to stop and reload Tempesta FW.

Start and stop Tempesta FW:

$ ${tempesta_src_dir}/scripts/tempesta.sh --start
$ ${tempesta_src_dir}/scripts/tempesta.sh --stop

BY default the startup script uses configuration file located at etc/tempesta_fw.conf in Tempesta FW sources directory. It is possible to start Tempesta FW with custom configuration file location:

$ TFW_CFG_PATH="/opt/tempesta.conf" ${tempesta_src_dir}/scripts/tempesta.sh --start

On-the-fly reconfiguration:

$ ${tempesta_src_dir}/scripts/tempesta.sh --reload

The script also configures (enables RSS and RPS) for networking interfaces. By default all devices are involved. To filter out and work with only required interfaces, you may use -d option:

$ ${tempesta_src_dir}/scripts/tempesta.sh --start -d "lo ens3"

or assign an environment variable TFW_DEV. The command line argument has more priority.

Systemd service🔗

Tempesta FW binary packages also provide tempesta-fw.service systemd unit file for loading Tempesta FW on system start. Unlike manual start via the startup script the systemd unit supports only one location of configuration file: /etc/tempesta_fw.conf. The unit file is controlled in the same way like any other systemd units:

  • starting and stopping:
$ systemctl start tempesta-fw
$ systemctl stop tempesta-fw
$ systemctl restart tempesta-fw
  • Tempesta FW service status:
$ systemctl status tempesta-fw
  • service logs:
$ journalctl -u tempesta-fw
  • or use -f to watch new logs in real time:
$ journalctl -u tempesta-fw -f
  • run Tempesta FW on system start:
$ systemctl enable tempesta-fw
$ systemctl disable tempesta-fw
  • On-the-fly reconfiguration:
$ systemctl reload tempesta-fw

Share this article
  • Home
  • Requirements
  • Installation
    • Install from packages
    • Install from Sources
  • Configuration
    • Migration from Nginx
    • On the fly Reconfiguration
    • Handling clients
    • Backend servers
    • Scheduling and Load Balancing
    • Caching Responses
    • Non Idempotent Requests
    • Modify HTTP Messages
    • Virtual hosts and locations
    • Sticky Cookie
    • HTTP tables
    • HTTP security
    • Header Via
    • Health monitor
    • Tempesta TLS
    • Vhost Confusion
    • Traffic Filtering by Fingerprints
    • Access Log Analytics
  • Run and stop
  • Application Performance Monitoring
    • Performance statistics
    • Servers statistics
  • Use cases
    • Clouds
    • High availability
    • DDoS mitigation
    • Web security
    • WAF acceleration
    • Best practices
    • WordPress tips and tricks
  • Performance
    • Hardware virtualization performance
    • HTTP cache performance
    • HTTP transactions performance
    • HTTPS performance
    • HTTP2 streams prioritization
  • Bot Protection
    • Tempesta Webshield
    • Setup and Run The Webshield
    • Webshield Configuration
    • Webshield Detectors
    • Webshield Observability
    • Webshield Use Cases
  • Contributing
    • Report issues and send patches
    • Development guidelines
    • Memory safety guideline
    • Debugging and troubleshooting
    • Prepare a new release
    • Testing
    • QTCreator project

Powered by Tempesta FW

Stay up to date with our latest developments

Useful Links

Home
Blog

Tempesta® FW

Features
Performance
Deployment
Support
Knowledge Base

Services

Software Development
Performance analysis
Network Security

Solutions

DDoS Protection

Web Acceleration

Company

Research
Careers
Contact