Run the load generators against our server: the window holds, memory returns to baseline, no defects
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# smpp-dumb-client has no published image; built from source at a pinned commit. A second binary
|
||||
# is built from the same source with its own automatic enquire_link neutralised, for S6 - see
|
||||
# findings/07-load.md for why (every peer built for this phase sends enquire_link on its own
|
||||
# otherwise, and smppload, the one that never does, is blocked).
|
||||
FROM --platform=linux/amd64 golang:1.26.8-alpine3.23 AS builder
|
||||
|
||||
RUN apk add --no-cache git ca-certificates
|
||||
|
||||
ARG LIBSMPP_COMMIT=de0334bf2c1155fb3dd4f929674968254c932be6
|
||||
|
||||
RUN git clone https://github.com/vponomarev/libsmpp.git /build \
|
||||
&& cd /build \
|
||||
&& git checkout "${LIBSMPP_COMMIT}"
|
||||
|
||||
WORKDIR /build
|
||||
RUN go build -o /out/smpp-dumb-client ./app/smpp-dumb-client
|
||||
|
||||
# libsmpp's enquireSender(60)/enquireSender(10) are the two call sites that start its unconditional,
|
||||
# unconfigurable 10s/60s enquire_link ticker (smpp.go) - both neutralised here for the no-ping build.
|
||||
RUN sed -i \
|
||||
-e 's/go s\.enquireSender(60)/\/\/ patched for S6 (no enquire_link): &/' \
|
||||
-e 's/go s\.enquireSender(10)/\/\/ patched for S6 (no enquire_link): &/' \
|
||||
smpp.go \
|
||||
&& go build -o /out/smpp-dumb-client-noping ./app/smpp-dumb-client
|
||||
|
||||
FROM --platform=linux/amd64 alpine:3.23.5 AS runtime
|
||||
|
||||
RUN apk add --no-cache netcat-openbsd
|
||||
|
||||
WORKDIR /app
|
||||
COPY --from=builder /out/smpp-dumb-client /app/smpp-dumb-client
|
||||
COPY --from=builder /out/smpp-dumb-client-noping /app/smpp-dumb-client-noping
|
||||
COPY entrypoint.sh /app/entrypoint.sh
|
||||
COPY conf ./conf
|
||||
RUN chmod +x /app/entrypoint.sh /app/smpp-dumb-client /app/smpp-dumb-client-noping
|
||||
|
||||
ENTRYPOINT ["/app/entrypoint.sh"]
|
||||
Reference in New Issue
Block a user