Need guidance regarding erpnext production server

Hi,

<<<<=====Server Specs======>>>>>

Hardware Model: Gigabyte Technology Co., Ltd. B460HD3
Processor: Intel® Core™ i5-10400 CPU @ 2.90GHz × 12
Memory: 32.0 GiB
Disk Capacity: 500Gb Nvme M.2 SSD, frappe-bench folder is in 500gb ssd. and a 2TB HDD for other backups.
OS: Ubuntu 22.04.4 LTS

<<<<=====Frappe & Erpnext versions====>>>>
ERPNext: v13.55.2 (version-13)
Frappe Framework: v13.58.21 (version-13)
Production setup has been completed, and the server is online & being used by 15 users.
Please someone recommend me settings & configurations for erpnext, frappe, mariadb, nginx to get the best performance.

Thanks.

@RafiqueKhattak Please check this.


I have already installed everything, just looking for best performance tips and tricks.

Hi @RafiqueKhattak:

Check this docs
https://frappeframework.com/docs/user/en/database-optimization-hardware-and-configuration

Hope this helps.

[mysqld]

GENERAL

default-storage-engine = InnoDB

MyISAM

key-buffer-size = 32M
myisam-recover = FORCE,BACKUP

SAFETY

max-allowed-packet = 256M
max-connect-errors = 1000000
innodb = FORCE

DATA STORAGE

datadir = /var/lib/mysql/

BINARY LOGGING

log-bin = /var/lib/mysql/mysql-bin
log_bin_index = /var/lib/mysql/mysql-bin.index
expire-logs-days = 14
sync-binlog = 1

CACHES AND LIMITS

tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
query-cache-size = 0
max-connections = 500
thread-cache-size = 50
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache = 10240
tmp-disk-table-size = 5120M
max-statement-time = 10800

INNODB

innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 512M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1

NOTE: This has to be configured based on RAM. Consider ~60% of available RAM. This example assumes 8GB RAM.

innodb-buffer-pool-size = 4.8G
innodb-file-format = barracuda
innodb-large-prefix = 1
innodb-old-blocks-time = 5000
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
character-set-client-handshake = FALSE
max_allowed_packet = 512M

LOGGING

log-error = /var/lib/mysql/mysql-error.log
log-queries-not-using-indexes = 0
slow-query-log = 1
slow-query-log-file = /var/lib/mysql/mysql-slow.log

[mysql]
default-character-set = utf8mb4

[mysqldump]
max_allowed_packet = 512M

Where i can set this configurations? i can’t any file with this default configuration.

1 Like