Skip to content

DiskIO should use st_read/st_write to avoid performance issue for ST scheduler. #1540

@winlinvip

Description

@winlinvip

Network IO will use ST's functions, such as st_connect/st_read/st_write, etc. These functions will be scheduled by the ST scheduler and will switch between different coroutines. There will be no scheduling delay or blocking issues.

However, disk reading and writing currently still use the system's open/read/write functions, which actually cause the CPU's time slices to not be scheduled by ST. If the disk IO load is high, blocking phenomena may occur, such as not being able to send data to the client in time.

Currently, disk IO mainly includes:

  1. Log.
  2. HLS, refer to srs-bench pressure test REUSE PORT multiple processes report "publish timeout, (Interrupted system call)" error #1539.
  3. DVR.

TRANS_BY_GPT3

Metadata

Metadata

Assignees

Labels

BugIt might be a bug.EnhancementImprovement or enhancement.TransByAITranslated by AI/GPT.Won't fixWe won't fix it.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions