Το «χρεώνεται ανά δευτερόλεπτο» είναι μία από εκείνες τις φράσεις που μοιάζουν ολοκληρωμένες χωρίς να είναι. Πίσω της βρίσκονται αρκετές αποφάσεις που αλλάζουν το τι πληρώνετε: τι μετριέται, πότε ξεκινά και σταματά το ρολόι, αν υπάρχει ελάχιστο, πώς αντιμετωπίζονται τα κλάσματα του σεντ και πότε τα χρήματα φεύγουν πραγματικά από το υπόλοιπό σας.
Αυτό το άρθρο καταγράφει τις απαντήσεις μας, με τους υπολογισμούς, για τα sandboxes κώδικα. Ο στόχος είναι να μπορείτε να προβλέψετε έναν λογαριασμό με ακρίβεια σεντ πριν τρέξετε οτιδήποτε, και να αναγνωρίζετε το σημείο όπου η χρέωση ανά δευτερόλεπτο είναι λάθος μοντέλο για το φορτίο σας.
Η μονάδα: δεσμευμένα vCPU και RAM
Η τιμή ενός sandbox είναι η τιμή των πόρων που δεσμεύει το τιμολόγιό του:
- $0.040 ανά vCPU-ώρα
- $0.013 ανά GiB RAM ανά ώρα
Το τιμολόγιο small (0.5 vCPU, 1 GB) κοστίζει επομένως 0.5 × 0.040 + 1 × 0.013 = $0.033 την ώρα, περίπου $0.0000092 το δευτερόλεπτο. Το μεγαλύτερο, max (8 vCPU, 16 GB), κοστίζει $0.528 την ώρα.
Μετράμε τη δέσμευση, όχι την κατανάλωση. Ένα sandbox που περιμένει την επόμενη εντολή κοστίζει ανά δευτερόλεπτο όσο ένα που μεταγλωττίζει ένα έργο. Η μέτρηση της πραγματικής CPU θα έμοιαζε πιο δίκαιη στα χαρτιά, αλλά θα έκανε την τιμή αδύνατο να είναι γνωστή εκ των προτέρων, και η χωρητικότητα κρατιέται για εσάς ούτως ή άλλως. Η εξερχόμενη κίνηση δεν χρεώνεται.
Το ρολόι: από τη δημιουργία ως τη διαγραφή
Ένα προσωρινό sandbox χρεώνεται από τη στιγμή της δημιουργίας του μέχρι τη διαγραφή του. Σε αυτό περιλαμβάνεται και ο χρόνος αδράνειας πριν το χρονικό όριο αδράνειας το αφαιρέσει, 300 δευτερόλεπτα από προεπιλογή.
Από εκεί προέρχονται οι περισσότερες εκπλήξεις. Ένα script δύο λεπτών, σε ένα sandbox που κανείς δεν διαγράφει, χρεώνεται για επτά: δύο εργασίας και πέντε αναμονής για το χρονικό όριο. Η λύση είναι βαρετή: διαγράψτε το sandbox όταν τελειώσετε (το μπλοκ with του SDK το κάνει για εσάς) ή μειώστε το χρονικό όριο αδράνειας.
Το ελάχιστο: 60 δευτερόλεπτα ανά sandbox
Κάθε προσωρινό sandbox χρεώνεται για τουλάχιστον 60 δευτερόλεπτα της ζωής του. Η εκκίνηση μιας microVM, η σύνδεση δίσκου και δικτύου και η αποσυναρμολόγηση όλων κοστίζουν το ίδιο, είτε ο κώδικας μέσα τρέχει ένα δευτερόλεπτο είτε πενήντα.
| Διάρκεια ζωής | Τιμολόγιο | Χρεώθηκε | Κόστος |
|---|---|---|---|
| 20 δ. | small | 60 δ. | $0.00055 |
| 61 δ. | small | 61 δ. | $0.00056 |
| 10 λεπ. | small | 600 δ. | $0.0055 |
| 3 ώρ. | standard | 10.800 δ. | $0.198 |
Το ελάχιστο εφαρμόζεται μία φορά, όταν τελειώσει το sandbox, και μόνο αν η συνολική του διάρκεια ζωής ήταν κάτω από 60 δευτερόλεπτα. Δεν υπάρχει επιπλέον ελάχιστο ανά ώρα ή ανά εντολή.
Συσσώρευση και χρέωση: μικροδολάρια και ακέραια σεντ
Αυτό είναι το κομμάτι που το «ανά δευτερόλεπτο» συνήθως δεν λέει. Ο host των sandboxes καταγράφει τη χρήση σε ωριαία διαστήματα, ένα ανά sandbox. Μία φορά το λεπτό, η εργασία χρέωσης συλλέγει τα διαστήματα που έκλεισαν, τα κοστολογεί και χρεώνει το υπόλοιπο.
Η κοστολόγηση γίνεται σε εκατομμυριοστά του δολαρίου. Η χρέωση σε ακέραια σεντ. Ό,τι μένει κάτω από ένα σεντ παραμένει στον λογαριασμό σας και προστίθεται στην επόμενη χρέωση· τίποτα δεν στρογγυλοποιείται προς τα πάνω, ούτε ανά sandbox ούτε ανά ώρα.
Σε μικρή κλίμακα αυτό μετράει. Εκατό sandboxes των 20 δευτερολέπτων συσσωρεύουν 100 × $0.00055 = $0.055. Χρεώνεστε πέντε σεντ και μισό σεντ περιμένει την επόμενη παρτίδα. Αν κάθε sandbox στρογγυλοποιούνταν σε ένα σεντ, η ίδια δουλειά θα κόστιζε ένα δολάριο.
Δύο ακόμη ιδιότητες αξίζει να γνωρίζετε:
- Κάθε διάστημα χρεώνεται ακριβώς μία φορά. Η εγγραφή χρήσης και η χρέωση γράφονται σε μία συναλλαγή της βάσης δεδομένων, με κλειδί το sandbox και την ώρα. Μια επανάληψη ή μια χαμένη επιβεβαίωση δεν μπορεί να χρεώσει δύο φορές.
- Οι διακοπές καθυστερούν τις χρεώσεις, δεν τις χάνουν ούτε τις διπλασιάζουν. Αν η χρέωση δεν μπορεί να φτάσει τον host των sandboxes, τίποτα δεν επιβεβαιώνεται, τα διαστήματα περιμένουν και χρεώνονται όταν επιστρέψει η σύνδεση.
Η συνέπεια είναι ότι ο πίνακας ελέγχου μπορεί να υστερεί έως μία ώρα πίσω από τον ζωντανό αριθμό. Για τον ζωντανό αριθμό, το GET /sandboxes/{id}/usage επιστρέφει billed_usd και ένα estimated_total_usd για το sandbox μέχρι στιγμής.
Persistent sandboxes: ανά ώρα που ξεκινά, με ανώτατο όριο
Τα persistent sandboxes διατηρούν τον δίσκο τους μεταξύ συνεδριών, έως 30 ημέρες. Χρεώνονται ανά ώρα που ξεκινά: 61 λεπτά είναι δύο ώρες. Σε αντάλλαγμα, ένας ημερολογιακός μήνας (UTC) δεν κοστίζει ποτέ περισσότερο από 730 ώρες μείον 25%.
Για το τιμολόγιο standard, αυτό το όριο είναι $36.14 τον μήνα αντί για $48.18. Όσο ένα persistent sandbox είναι σε παύση, δεν χρεώνεται καθόλου.
Όταν τελειώνει το υπόλοιπο
Το υπόλοιπο δεν πέφτει ποτέ κάτω από το μηδέν. Τα νέα sandboxes απορρίπτονται με 402 insufficient_balance. Τα προσωρινά που ήδη τρέχουν τελειώνουν στο χρονικό όριο αδράνειας ή στο TTL τους. Τα persistent τίθενται σε παύση μετά από 24 ώρες χωρίς επαναφόρτιση και συνεχίζουν μόνα τους όταν προσθέσετε χρήματα. Τα snapshots σε παύση φυλάγονται 14 ημέρες. Μετά το sandbox διαγράφεται και το id του απαντά 410 sandbox_deleted.
Αν ένας πράκτορας AI δημιουργεί sandboxes για εσάς, ορίστε ημερήσιο και μηνιαίο όριο. Όταν επιτευχθεί, επιστρέφεται 429 budget_exceeded μαζί με την ώρα επαναφοράς, κάτι πάνω στο οποίο μπορεί να ενεργήσει ένα πρόγραμμα.
Πού χάνει η χρέωση ανά δευτερόλεπτο
Η χρέωση ανά δευτερόλεπτο είναι εξαιρετική για εργασία που μετριέται σε δευτερόλεπτα και λεπτά. Όσο πιο πολύ διαρκεί η εργασία, τόσο χειροτερεύει.
| Φορτίο | Sandbox ανά δευτερόλεπτο | Εναλλακτική |
|---|---|---|
| Δοκιμές 2 λεπτών | $0.0011 (small) | ένα μηχάνημα με ωριαία χρέωση χρεώνει ολόκληρη την ώρα |
| Μαζική εργασία 3 ωρών | $0.198 (standard) | περίπου το ίδιο |
| Υπηρεσία 24/7 | $36.14/μήνα (standard, όριο persistent) | το VPS AI agent: 4 vCPU, 4 GB για $10/μήνα |
Το σημείο καμπής βρίσκεται περίπου εκεί όπου ένα φορτίο τρέχει περισσότερες από λίγες ώρες την ημέρα. Από εκεί και πέρα πληρώνετε για ευελιξία που δεν χρησιμοποιείτε, και ένας server με μηνιαία μίσθωση είναι αισθητά φθηνότερος ανά ώρα. Ο τίμιος τρόπος να βλέπετε τη χρέωση ανά δευτερόλεπτο είναι ως το τίμημα για να μη χρειάζεται να σχεδιάζετε χωρητικότητα, όχι ως έκπτωση.
Μια γρήγορη εκτίμηση
Ωριαία τιμή του τιμολογίου × δευτερόλεπτα που θα υπάρχει το sandbox ÷ 3600, με κατώτατο όριο τα 60 δευτερόλεπτα. Προσθέστε το χρονικό όριο αδράνειας αν δεν το διαγράψετε εσείς. Για τα persistent, στρογγυλοποιήστε κάθε συνεδρία προς τα πάνω σε ακέραιες ώρες και σταματήστε στο μηνιαίο όριο.
Όλοι οι κανόνες, τα όρια και το API προϋπολογισμού βρίσκονται στα όρια και χρέωση των sandboxes· οι κλήσεις που αναφέρθηκαν παραπάνω, στην τεκμηρίωση του SDK. Αν αναρωτιέστε τι ακριβώς νοικιάζετε ανά δευτερόλεπτο, το οι microVM του Firecracker με απλά λόγια το εξηγεί, και το τι χρειάζονται πραγματικά οι πράκτορες AI από την υποδομή δείχνει γιατί το μοντέλο χρέωσης μετράει τόσο όταν τα μηχανήματα τα δημιουργεί λογισμικό και όχι άνθρωποι.
Σχόλια
Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.