All Products
Search
Document Center

MaxCompute:Overview of the data transmission service

Last Updated:Mar 26, 2026

The data transmission service is MaxCompute's primary data movement layer, built on the Tunnel service. It supports two modes: a regular tunnel for batch uploads and downloads, and a stream tunnel for continuous low-latency writes. Shared resource groups are available at no cost within the allocated quota; exclusive resource groups are available for purchase for predictable, high-throughput workloads.

Tunnel服务

Choose a tunnel mode

ScenarioRecommended mode
Bulk load or export of offline data (tables, partitions, query results)Regular tunnel
Continuous, low-latency writes from event streams or pipelinesStream tunnel
Upsert operations on Delta TablesRegular tunnel (UpsertSession)
Running data transfer commands from the MaxCompute clientRegular tunnel

How it works

Regular tunnel — Uses an UploadSession or DownloadSession to move data in blocks. Each session has a lifecycle of up to 24 hours. Concurrent writes are ACID-compliant (atomicity, consistency, isolation, and durability). For Delta Table upserts, use a UpsertSession instead of a standard UploadSession.

Stream tunnel — Writes data in micro-batches to table partitions. Each flush operation occupies one slot. Use this mode when your pipeline produces data continuously and you need it available in MaxCompute with minimal delay.

Limitations

Regular tunnel — uploads

ItemLimit
UploadSession lifecycle24 hours
Blocks per UploadSession20,000
Block write speed10 MB/s
Block size100 GB
UploadSessions created per table500 per 5 minutes
Blocks written to a table500 per 5 minutes
Concurrent UploadSessions per table32
Single-table write commits75 per 15 seconds
Concurrent block writesSubject to available slot count
Concurrent write consistencyACID-guaranteed
When the concurrent UploadSession limit (32) or the write commit rate (75 per 15 seconds) is exceeded, requests return an error. Design your upload clients to respect exponential backoff; see Retry policy.

STRING field size limit: 8 MB per field. For all other types, see Data type editions. During upload, multiple records are packaged into a single package file.

Delta Table upsert limits:

ItemLimit
UpsertSession lifecycle24 hours
Max write speedNumber of tables or partition buckets × 10 MB/s
Max slotsNumber of tables or partition buckets
Commit frequency1 commit per minute per partition

If two commits occur within the same minute, the service returns ErrorCode=FlowExceeded, ErrorMessage=CommitUpsert QPS Quota exceeded.

Regular tunnel — downloads

ItemLimit
DownloadSession lifecycle24 hours
InstanceDownloadSession lifecycle24 hours (bounded by instance lifecycle)
InstanceDownloadSessions per project200 per 5 minutes
DownloadSessions per table200 per 5 minutes
Single download request speed10 MB/s
Concurrent DownloadSessionsSubject to available slot count
Concurrent InstanceDownloadSessionsSubject to available slot count
Concurrent download requestsSubject to available slot count

Stream tunnel

ItemLimit
Write speed per slot10 MB/s
Concurrent partitions per table64
Max slots per partition32
Flush concurrencyEach flush occupies one slot

Network limits for exclusive resource groups

  • Only virtual private cloud (VPC) access is supported; Internet access is not.

  • Data transmission is supported within the same region only; cross-region transmission is not supported.

Network bandwidth directly affects upload and download speed. Typical throughput is 1–20 MB/s. For slow uploads, switch to multi-threaded uploads.

Shared resource groups

The following table lists the maximum number of shared slots available per project in each region. Shared resource groups are free of charge.

SiteRegionSlots
ChinaChina (Hangzhou)300
ChinaChina East 1 Finance50
ChinaChina (Shanghai)600
ChinaChina East 2 Finance50
ChinaChina (Beijing)300
ChinaChina North 2 Ali Gov100
ChinaChina (Zhangjiakou)300
ChinaChina (Ulanqab)300
ChinaChina (Shenzhen)150
ChinaChina South 1 Finance50
ChinaChina (Chengdu)150
ChinaChina (Hong Kong)50
Asia PacificSingapore100
Asia PacificMalaysia (Kuala Lumpur)50
Asia PacificIndonesia (Jakarta)50
Asia PacificJapan (Tokyo)50
Europe and AmericasGermany (Frankfurt)50
Europe and AmericasUS (Silicon Valley)100
Europe and AmericasUS (Virginia)50
Europe and AmericasUK (London)50
Middle East and IndiaUAE (Dubai)50

HTTP status codes

The Tunnel service uses standard HTTP status codes. The following codes are valid responses:

Status codeName
200HTTP_OK
201HTTP_CREATED
400HTTP_BAD_REQUEST
401HTTP_UNAUTHORIZED
403HTTP_FORBIDDEN
404HTTP_NOT_FOUND
405HTTP_METHOD_NOT_ALLOWED
409HTTP_CONFLICT
422HTTP_UNPROCESSABLE_ENTITY
429HTTP_TOO_MANY_REQUESTS
499HTTP_CLIENT_CLOSED_REQUEST
500HTTP_INTERNAL_SERVER_ERROR
502HTTP_BAD_GATEWAY
503HTTP_SERVICE_UNAVAILABLE
504HTTP_GATEWAY_TIME_OUT

Retry policy

For failed requests, use exponential backoff before retrying. The minimum wait is 1 second, doubling with each consecutive failure up to a cap of 32 seconds: 1 s → 2 s → 4 s → 8 s → 16 s → 32 s → 32 s.

Request classifications

TypeDefinitionSLA coverage
Repeated requestRequests with the same URL, or consecutive requests from the same client IP address
Valid requestStatus code is valid and request complies with the retry policyCovered
Invalid requestStatus code is valid but request does not comply with the retry policyNot covered
Attack requestStatus 429 or 503 returned, and the client does not comply with the retry policyNot covered

For attack requests, MaxCompute isolates the IP address, UID, and project of the offending client. Isolated clients cannot access MaxCompute as expected.

FAQ

Why is my upload or download speed slow?

The Tunnel service occasionally experiences latency spikes due to shared resource contention — a 10 MB transfer that normally takes seconds can extend to minutes. The most common causes are:

  • Shared resource exhaustion — CPU or network bandwidth in the shared tunnel pool is fully consumed. If this happens repeatedly, purchase an exclusive resource group.

  • Unstable Internet connection — Internet connectivity between your client and the Tunnel endpoint is unreliable. Switch to a VPC connection for a stable, predictable path.

  • Client resource exhaustion — Your local CPU or network bandwidth is saturated. Profile your client's resource usage and scale accordingly.

  • Long-connection code logic — Upload and download loops that hold connections open too long can degrade throughput. Review your client code to ensure connections are managed efficiently.

Where can I find more troubleshooting guidance?