следующие запросы.
allocate_find = "\
SELECT framedipaddress FROM ${ippool_table} \
WHERE pool_name = 'test' \
AND ( (username = '%{User-Name}') OR (expiry_time < NOW() OR expiry_time IS NULL) ) \
ORDER BY \
(username <> '%{User-Name}'), \
expiry_time \
LIMIT 1 \
FOR UPDATE"
allocate_update = "\
UPDATE ${ippool_table} \
SET \
nasipaddress = '%{NAS-IP-Address}', pool_key = '${pool_key}', \
callingstationid = '%{Calling-Station-Id}', \
username = '%{User-Name}', expiry_time = NOW() + INTERVAL ${lease_duration} SECOND \
WHERE framedipaddress = '%I'"
Если использовать mariadb 10.3 + InnoDB(myisam не подходит из за необходимости транзакций) то при тестирование база быстро загибается, в процессах повисают SELECT.
При использование Postgres из коробки все летает, все достаточно быстро обрабатывает. После небольшого тюнинга производительность вырасла еще в два раза...
Неужели у MySQL+InnoDB все так плохо?
может вы что-то не так настроили? )
Обсуждают сегодня