Skip to main content

Troubleshooting

Identify and resolve bandwidth and latency issues, as well as HTTP 400 errors, on the centron and S3 Object Storage.

Bandwidth or latency issues

Narrowing down the problem

  1. Carry out a reference measurement – ideally from a centron cloud server and from the affected system, in order to distinguish between network and storage issues:
# Testdatei erzeugen und Upload/Download messen
dd if=/dev/urandom of=test1g.bin bs=1M count=1024
time aws s3 cp test1g.bin s3://mein-bucket/ --endpoint-url https://
time aws s3 cp s3://mein-bucket/test1g.bin ./download.bin --endpoint-url https://s3.internet1.de
  1. Check the network path:
ping s3.internet1.de
mtr --report s3.internet1.de # zeigt Paketverlust/Latenz pro Hop
  1. Check the status page: status-centron.de

Common causes and solutions

SymptomCauseSolution
Individual stream slow, overall performance OKThroughput per connection limitedIncrease parallelism: use rclone --transfers 16, AWS CLI max_concurrent_requests, or multipart
Many small files extremely slowOverhead per request dominatesBundle files (tar/zip) or significantly increase parallelism (--checkers, --transfers)
High latency from a remote networkLong network path, peeringCompare measurements with the centron server; use a CDN if necessary
Fluctuating throughput at peak timesLocal line/VPN at full capacityMeasure without VPN; check on-site bandwidth
Uploads of large files abortTimeouts with single PUTUse multipart upload (CLI/SDKs do this automatically above a threshold)

AWS CLI Tuning (~/.aws/config):

[default]
s3 =
max_concurrent_requests = 20
multipart_threshold = 64MB
multipart_chunksize = 64MB

If the problem can be consistently isolated to the storage side (e.g. slow even when accessed from the centron server, with no message on the status page), please contact Support with the measurement values, the time of the issue, the bucket and the traceroute results.

HTTP 400 (Bad Request)

A 400 means: The server has rejected the request as invalid. The response body contains an XML error code that specifies the cause – check this first:

aws s3api get-object --bucket mein-bucket --key test.txt out.txt \
--endpoint-url https://s3.internet1.de --debug 2>&1 | grep -A5 "<Error>"

Common error codes

Error codeCauseSolution
InvalidBucketNameBucket name violates naming rules (capital letters, underscores, too short/long)Adhere to naming rules: 3–63 characters, lower-case letters/numbers/hyphens
AuthorizationHeaderMalformedIncorrect region in the signatureSet the region (CLI configuration, SDK parameter)
RequestTimeTooSkewedSystem clock is more than 15 minutes offSynchronise time via NTP (timedatectl, chronyc)
InvalidArgumentInvalid parameter/header (e.g. incorrect metadata, incorrect SSE-C headers)Check request parameters; for SSE-C, send all three headers including the correct Key-MD5
EntityTooLarge / EntityTooSmallPart or object size outside limitsAdjust multipart chunk size (typically: 5 MB–5 GB per part)
KeyTooLongErrorObject key too long (max. 1024 bytes)Use a shorter key
IncompleteBodyTransfer aborted, Content-Length not metCheck the network, repeat the upload
InvalidRequest on Object Lock callsObject Lock not enabled on the bucketCreate a new bucket with Object Lock (cannot be enabled retrospectively)
BadDigestMD5/checksum does not match the contentCheck the file/transfer, upload again

Further testing steps

  • Is the endpoint correct? https://s3.internet1.de – Typing errors or a missing https:// will result in signature or connection errors.
  • Addressing style: In special cases, force path-style (SDK options forcePathStyle / use_path_style_endpoint).
  • Is the tool up to date? Outdated clients may send incompatible signatures – update to the latest version.
  • Unsupported action? Some AWS special functions are not available here – see Supported S3 Actions.

If the error remains unclear: make a note of the Request ID from the error response (<RequestId>) and send it, along with the timestamp, to Support – this will enable the enquiry to be traced on the server side.