[Koha-devel] Interesting syscalls when Starman starting up

David Cook dcook at prosentient.com.au
Wed Apr 26 09:13:04 CEST 2023


Hey all,

 

Years ago, I chatted with the author of Mojolicious::Plugin::OpenAPI about
skipping the schema validation as it was causing extremely high server load.

 

He added a config option for it in a newer version, and that version is
available for Koha 22.11. I've tried turning on that config option but not
sure if it's working. I have more exploring to do.

 

When I startup Starman for Koha 22.11, I still see a huge server load, and
when I use strace, I see a long loop of the following:

 

newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...},
AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=4096,
...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha", {st_mode=S_IFDIR|0755, st_size=4096,
...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api", {st_mode=S_IFDIR|0755,
st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1", {st_mode=S_IFDIR|0755,
st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1/swagger",
{st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1/swagger/swagger.yaml",
{st_mode=S_IFREG|0644, st_size=27644, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1/swagger/swagger.yaml",
{st_mode=S_IFREG|0644, st_size=27644, ...}, 0) = 0

newfstatat(AT_FDCWD, "/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...},
AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share", {st_mode=S_IFDIR|0755, st_size=4096,
...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha", {st_mode=S_IFDIR|0755, st_size=4096,
...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api", {st_mode=S_IFDIR|0755,
st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1", {st_mode=S_IFDIR|0755,
st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1/swagger",
{st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1/swagger/swagger.yaml",
{st_mode=S_IFREG|0644, st_size=27644, ...}, AT_SYMLINK_NOFOLLOW) = 0

newfstatat(AT_FDCWD, "/usr/share/koha/api/v1/swagger/swagger.yaml",
{st_mode=S_IFREG|0644, st_size=27644, ...}, 0) = 0

 

I'm guessing that might be caused by the following lines:

 

$schema->resolve( $spec_file );

my $spec = $schema->bundle->data;

 

But I'll have to investigate more. 

 

Koha used to start up quickly and with minimal overhead. Back when I was
looking at Mojolicious::Plugin::OpenAPI, if I skipped the validation, I
could start up with minimal overhead as well. Looks like things have changed
over the past few years to keep the problem happening.

 

David Cook

Senior Software Engineer

Prosentient Systems

Suite 7.03

6a Glen St

Milsons Point NSW 2061

Australia

 

Office: 02 9212 0899

Online: 02 8005 0595

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.koha-community.org/pipermail/koha-devel/attachments/20230426/db5636c5/attachment.htm>


More information about the Koha-devel mailing list