Günde Milyonlarca SMS Gönderme: Yüksek Hacimli SMS Rehberi
Günde milyonlarca SMS: TPS planlama hesabı, SMPP bind ve pencere ayarı, kuyruk, hız sınırlama, DLR işleme, gönderen kimliği, sessiz saatler ve KPI'lar.
Yazar: OmniChannels.ai Editorial Team · İnceleyen: BroadNet Messaging Solutions Team
SMS ve OTP
Kısa yanıt
Günde milyonlarca SMS göndermek için verim kapasitesini günlük ortalamaya göre değil tepe noktaya göre belirleyin: göndermeniz gereken parça sayısını gönderim penceresindeki saniyeye bölün, OTP trafiği için pay ekleyin ve SMPP penceresini en az TPS ile gidiş-dönüş süresinin çarpımı kadar ayarlayın. Birden fazla bind, operatör başına kuyruk ve kısıtlama hatalarında geri çekilen bir hız sınırlayıcı kullanın, teslim raporlarını ayrı işleyin ve OTP ile tanıtım trafiğini birbirinden ayırın.
Bu sayfada
- Günde milyonlarca için saniyede kaç SMS gerekir?
- Verimi ortalamaya değil en yoğun saate göre nasıl planlarsınız?
- SMPP bind nedir ve kaç tane gerekir?
- SMPP pencereleme nasıl çalışır?
- Ölçekte kuyruk ve hız sınırlamayı nasıl kurarsınız?
- Ölçekte operatör bazlı yönlendirmeyi nasıl yaparsınız?
- Teslim raporlarını ölçekte nasıl ele alırsınız?
- Göndermeden önce ülke başına neyi kaydettirmelisiniz?
- Yüksek hacimde sessiz saatlere nasıl uyarsınız?
- OTP ve tanıtım trafiğini neden ayırmalısınız?
- Hangi KPI'ları izlemelisiniz?
- Çok milyonluk bir gönderim için lansman kontrol listesi nedir?
- OmniChannels.ai nasıl yardımcı olur?
Öne çıkan noktalar
- Günde on milyon mesaj ortalama yalnızca saniyede yaklaşık 116 eder; ancak dört saatlik bir pencereye sıkıştırılmış bir kampanya saniyede yaklaşık 694 gerektirir ve her ek parça bunu çarpar.
- SMPP spesifikasyonu, göndericinin yanıt beklemeden birçok istek göndermesine izin verir; bekleyen istek sayısı uygulamaya bırakılmıştır, bu yüzden pencere üzerinde anlaşılmalı ve ayarlanmalıdır. İyi bir başlangıç kuralı: pencere en az TPS çarpı saniye cinsinden gidiş-dönüş süresi.
- Kısıtlama (ESME_RTHROTTLED, 0x58) ve kuyruk dolu (ESME_RMSGQFUL, 0x14) yavaşlama ve geri çekilmeyle yeniden deneme sinyalleridir; hemen yeniden göndermenin işareti değildir.
- Teslim raporları ikinci bir yüksek hacimli akıştır: tüketicilerini, depolamasını ve mutabakatını gönderimler kadar dikkatle planlayın.
- Kapasite, sağlayıcınızla hesap ve rota bazında kararlaştırılır; tepe rakamlarınızı yazılı isteyin ve lansmandan önce test edin.
Bu rehber, günde bir ile on milyon arasında SMS gönderen ya da göndermek üzere olan mühendisler, mesajlaşma operasyonları liderleri ve satın alma ekipleri için hazırlandı. Günlük hacmin bir verim hedefine nasıl çevrileceğini, SMPP bind ve pencerelerinin nasıl yapılandırılacağını, kuyruk ve hız sınırlamanın nasıl kurulacağını, teslim raporlarının ölçekte nasıl ele alınacağını ve ülke başına neyin hazırlanacağını gösterir. Örneklerdeki rakamlar açıklayıcı planlama sayılarıdır; herhangi bir sağlayıcının kapasitesi hakkında beyan değildir.
Günde milyonlarca için saniyede kaç SMS gerekir?
Parça sayısının, gerçekten gönderebildiğiniz penceredeki saniyeye bölünmesi gerekir. TPS cinsinden ölçülen verim (saniyede gönderilen mesaj veya parça), günlük ortalama değil bir tepe rakamıdır. Bkz. verim (TPS).
Önce ortalamayı, sonra gerçek gönderim pencereniz için tepeyi hesaplayın:
| Günlük mesaj | 24 saatte saniye başına ortalama | 4 saatte gönderilirse | 2 saatte gönderilirse |
|---|---|---|---|
| 1.000.000 | 11,6 | 69,4 | 138,9 |
| 5.000.000 | 57,9 | 347,2 | 694,4 |
| 10.000.000 | 115,7 | 694,4 | 1.388,9 |
Tabloyu iki çarpan değiştirir:
- Parçalar. Tek parçadan uzun bir mesaj birkaç parça olarak gönderilir ve çoğu platform her parçayı sayar. Ortalama 1,5 parçalı 10 milyon mesaj, 15 milyon gönderim demektir. Bunu SMS karakter sınırları ve karakter sayacı ile kontrol edin. Türkçe metinler (ş, ğ, ı, İ) Unicode olduğu için parça başına 70 (bölününce 67) karakter taşır; bu, parça sayısını belirgin biçimde artırabilir.
- Pay. OTP gibi kampanyaya ait olmayan trafiği ve yeniden denemeler ile yavaş operatörler için bir marj ekleyin. Yüzde otuz yaygın bir planlama payıdır, bir kural değildir.
Verimi ortalamaya değil en yoğun saate göre nasıl planlarsınız?
En çok trafiğin olduğu saat veya pencereden planlayın; çünkü kuyrukların biriktiği ve kısıtlamanın göründüğü an odur. Şu formülü kullanın:
Gereken TPS = (kampanya parçaları ÷ pencere saniyesi + tepe OTP ve uyarı TPS'si) × (1 + pay).
Uygulamalı örnek: bölgesel bir perakendeci
Kurgusal bir perakendeci, Körfez'deki müşterilere bir günde ortalama 1,4 parçalı 6 milyon tanıtım mesajı gönderiyor. Gönderimin, izin verilen gündüz penceresi içinde dört saatte bitmesini istiyor.
- Parçalar: 6.000.000 × 1,4 = 8.400.000.
- Pencere: 4 saat = 14.400 saniye, yani 8.400.000 ÷ 14.400 = saniyede 583.
- Kampanya sırasında tepe OTP ve uyarı trafiği: saniyede 40 (kendi ölçümü).
- Pay: yüzde 30.
- Gereken: (583 + 40) × 1,3 ≈ saniyede 810.
Perakendeci, bu rakamı lansmandan önce sağlayıcısından rota bazında yazılı olarak teyit etmesini ister. Bu bir planlama girdisidir; herhangi bir platformun taşıyabileceği hakkında bir şey söylemez.
SMPP bind nedir ve kaç tane gerekir?
SMPP bind, sisteminiz ile sağlayıcının SMSC'si arasında kimlik bilgileri ve izin verilen bir IP adresiyle doğrulanan uzun ömürlü bir TCP oturumudur. SMPP (Short Message Peer-to-Peer), SMS alışverişi için telekom protokolüdür ve sürekli hacim için tasarlanmıştır. Bkz. SMPP bind ve SMPP ve REST API.
Üç bind türü vardır: transmitter (yalnızca gönderim), receiver (yalnızca raporlar ve gelen mesajlar) ve transceiver (tek oturumda ikisi). Çoğu gönderici transceiver bind kullanır.
Kaç bind gerektiği:
- Gereken tepe TPS'nizi alın.
- Sağlayıcınızın hesabınız için kabul ettiği bind başına hıza bölün.
- Yukarı yuvarlayın ve kopan bir bağlantı gönderimi durdurmasın diye en az bir yedek bind ekleyin.
- OTP trafiğini kendi bind'larına veya hesabına koyun.
Bind'lar hesap başına tahsis edildiğinden sayıyı, bind başına hızı ve izin verilen kaynak IP'leri isteyin. SMPP ağ geçidi sayfamız ve SMPP geliştirici belgeleri bağlantıyı anlatır.
SMPP pencereleme nasıl çalışır?
Pencere, aynı anda bekleyen submit_sm isteklerinin sayısıdır. SMPP asenkrondur: spesifikasyon göndericinin yanıtları beklemeden birden fazla istek gönderebileceğini söyler ve yanıtı isteğiyle eşleştirmek için her PDU'daki sequence_number'ı kullanır. Bekleyen işlemlerin azami sayısı spesifikasyonda tanımlanmamıştır; her iki tarafın uygulamasına bağlıdır.
Kuyruk aritmetiğinden çıkan kural şudur:
Pencere ≥ hedef TPS × gidiş-dönüş süresi (saniye).
| Hedef TPS | Gidiş-dönüş 50 ms | Gidiş-dönüş 150 ms | Gidiş-dönüş 300 ms |
|---|---|---|---|
| 100 | 5 | 15 | 30 |
| 400 | 20 | 60 | 120 |
| 810 | 41 | 122 | 243 |
1'lik bir pencere, göndericinin her yanıtı beklediği anlamına gelir; bu da verimi bir bölü gidiş-dönüş süresiyle sınırlar. Pencereyi büyütmek, sağlayıcınızın izin verdiği hıza ulaşana kadar işe yarar; ötesinde yalnızca kısıtlama üretirsiniz. Sayıyı azamiye çıkarılacak bir şey değil, sağlayıcınızla kararlaştırılıp test edilecek bir şey olarak görün. Birden fazla bind kullandığınızda TPS'yi bunlara bölün: toplam 810 TPS'de dört bind, her biri yaklaşık 203 taşır.
Ölçekte kuyruk ve hız sınırlamayı nasıl kurarsınız?
Uygulamanız ile SMPP bağlantısı arasına dayanıklı bir kuyruk koyun ve çalışma zamanında değiştirebileceğiniz bir hız sınırlayıcıyla boşaltın. Kuyruk ani yükleri emer; sınırlayıcı sizi kararlaştırılan hızda tutar.
- Bind ve rota başına token bucket. Kararlaştırılan TPS'de doldurun; her parçayı sayarak her submit_sm için bir token alın.
- Öncelik başına bir kuyruk. Önce OTP ve uyarı trafiği, sonra işlemsel, sonra tanıtım.
- Hatalarda geri çekilme. ESME_RTHROTTLED (0x58) veya ESME_RMSGQFUL (0x14) durumunda duraklatın, ardından üstel geri çekilme ve jitter ile yeniden deneyin. Sıkı bir döngüde yeniden göndermeyin.
- Kopmadan sonra geri çekilmeyle yeniden bağlanın ve neyin kabul edildiğini uzlaştırabilmek için bekleyen sequence number'ları takip edin.
- Oturumları canlı tutun. Spesifikasyon, karşı tarafın hâlâ aktif bir oturumu olup olmadığını kontrol eden bir enquire_link zamanlayıcısı ve oturumun düşürülebileceği bir hareketsizlik zamanlayıcısı tanımlar. Boştayken enquire_link gönderin.
- Idempotent gönderimler. Gönderimden önce kendi mesaj kimliğinizi saklayın ki yeniden deneme iki kez göndermesin.
Ölçekte operatör bazlı yönlendirmeyi nasıl yaparsınız?
Kuyruk ve hız sınırlamayı bind başına olduğu kadar hedef operatör başına da yapın; çünkü yavaş bir operatör diğerlerini engellememelidir. Operatörler A2P trafiğini gönderen veya rota başına sınırlayabilir; bu yüzden bir ülke için fiili limit hesap hızından düşük olabilir.
- Her numarayı operatörüne çözümleyin. Numara sorgulama yardımcı olur; bkz. HLR sorgulama.
- Operatör veya rota grubu başına bir kuyruk ve bir sınırlayıcı tutun.
- Operatör başına teslim oranını ve rapor gecikmesini izleyin, bozulanları yavaşlatın.
- Sağlayıcınıza doğrudan rotaların kullanılıp kullanılmadığını sorun; bkz. doğrudan ve gri rota.
Teslim raporlarını ölçekte nasıl ele alırsınız?
Teslim raporlarını ilk akış kadar büyük ikinci bir akış olarak ele alın. Rapor, bind'ınıza bir deliver_sm olarak gelir ve her birini deliver_sm_resp ile yanıtlamanız gerekir. Spesifikasyon, rapordaki bu son ve ara durumları tanımlar: DELIVRD, EXPIRED, DELETED, UNDELIV, ACCEPTD, UNKNOWN ve REJECTD. Bkz. teslim raporları ve mesaj teslim durumları açıklandı.
Güvenilir bir tasarım:
- Hızlı onaylayın. Rapor bir kuyruğa girer girmez deliver_sm_resp ile yanıtlayın.
- Asenkron işleyin; raporu mesaj kimliğine göre orijinaliyle eşleştiren işçilerle.
- İşlemeyi idempotent yapın. Raporlar tekrarlanabilir ve sırasız teslim mümkündür.
- Parçaları yönetin. Rotaya bağlı olarak parça başına veya mesaj başına bir rapor alabilirsiniz; test edin.
- Hiç son durum almayan mesajlar için zaman aşımı koyun ve bunları bilinmiyor olarak işaretleyin.
- Rapor tüketicilerini gönderim yolundan ayrı tutun; birikim gönderimi yavaşlatmasın.
Göndermeden önce ülke başına neyi kaydettirmelisiniz?
Gönderen kimliği kuralları ülkeye göre değişir ve bazı pazarlarda kayıtsız göndericiler engellenir veya değiştirilir. Örnekler: BAE ve Suudi Arabistan operatörlerde kayıt ister, Hindistan başlığın ve her şablonun DLT kaydını ister, ABD ise alfanümerik göndericiler yerine 10DLC veya ücretsiz hat (toll-free) kullanır. Takip ettiğimiz pazarlarda hazırlık süreleri birkaç iş gününden yaklaşık bir aya kadar değişir.
Kayıtları önce başlatın, çünkü bunlar lansman için kritik yoldadır. Ülkelere göre SMS pazarlama kurallarına, gönderen kimliği denetleyicisine ve BAE ile Suudi Arabistan için gönderen kimliği rehberine bakın. Kayıtları kayıt hizmetimiz aracılığıyla sizinle birlikte hazırlıyor ve başvuruyoruz; onaylar düzenleyicilerde ve operatörlerde kalır.
Yüksek hacimde sessiz saatlere nasıl uyarsınız?
Tanıtımları her alıcının yerel saatine ve ülke kuralına göre zamanlayın ve tanıtım dışı trafiği bu kısıtlamanın dışında tutun. Bazı pazarlar aralık yayımlar: BAE pazarlama mesajlarını 21:00-07:00 arası, Suudi Arabistan 22:00-09:00 arası ve Ramazan'da 01:00-12:00 arası yasaklar. Bkz. sessiz saatler.
- Kuyruğa almadan önce listeyi ülke ve saat dilimine göre gruplayın.
- Her grubu pencere açıldığında kendi kuyruğuna bırakın.
- Tanıtım kuyruklarını pencere sonunda durdurun ve kalanı ertesi güne devredin.
- Sıralamayı gönderim zamanı planlayıcıyla planlayın.
Dar bir pencere gereken TPS'yi artırır; bu yüzden planlama formülünde kontrol edin.
OTP ve tanıtım trafiğini neden ayırmalısınız?
OTP ve uyarı mesajları zamana duyarlıdır, tanıtım kampanyaları ise toplutur; aynı kuyruğu veya bind'ı paylaşırlarsa bir kampanya bir giriş kodunu geciktirebilir. Ayrı bind'lar veya hesaplar, kurallar gerektirdiğinde ayrı gönderen kimlikleri, katı önceliğe sahip ayrı kuyruklar ve ayrı izleme kullanın. OTP'ler tanıtım olmadığından sessiz saatler onlar için geçerli değildir. OTP rotalarını kötüye kullanıma karşı da koruyun: bkz. SMS pumping dolandırıcılığını önleme ve OTP rehberi.
Hangi KPI'ları izlemelisiniz?
Gönderim sağlığını, kuyruk yaşını, rapor sonuçlarını ve rapor gecikmesini ülke ve operatöre göre ayırarak izleyin. Kendi başlangıç değerinize göre değişikliklerde uyarı kurun.
| KPI | Formül | Size ne söyler |
|---|---|---|
| Gönderim başarı oranı | Kabul edilen submit_sm_resp ÷ gönderilen submit_sm | Bind ve hesap sağlığı |
| Kısıtlama oranı | ESME_RTHROTTLED yanıtları ÷ gönderilen submit_sm | Hız veya pencere fazla yüksek ayarlı |
| Kuyruk yaşı (p95) | Kuyruğa girişten gönderime geçen süre | Kapasite açığı |
| Teslim oranı | DELIVRD ÷ son durumu olan mesajlar | Rota ve içerik kalitesi |
| Başarısız ve süresi dolan payı | (UNDELIV + EXPIRED + REJECTD) ÷ son durumlar | Numara geçerliliği, gönderen kimliği, filtreleme |
| Rapor gecikmesi (medyan ve p95) | Rapor zamanı − gönderim zamanı | Operatör yavaşlığı |
| Rapor kapsamı | Son durumlar ÷ gönderilen mesajlar | Eksik raporlar |
| Çıkış oranı | STOP yanıtları ÷ teslim edilen tanıtım mesajları | Kitle ve içerik uyumu |
Teşhis için SMS teslim oranını iyileştirme yazısına bakın.
Çok milyonluk bir gönderim için lansman kontrol listesi nedir?
- Gereken tepe TPS, parçalar, pencere ve OTP yükünden hesaplandı.
- Bind başına hız, bind sayısı, pencere ve kaynak IP'ler sağlayıcınızca yazılı teyit edildi.
- Gönderen kimlikleri her ülke için, gereken yerlerde şablonlarla birlikte kaydedildi.
- Hacmin bir bölümüyle yük testi, ardından kademeli artış; azami hacimle başlamayın.
- Kuyruklar, sınırlayıcı, geri çekilme ve idempotency test edildi; zorla bağlantı kesme dahil.
- Rapor hattı tam rapor hacminde test edildi.
- Sessiz saat zamanlaması ülke başına doğrulandı.
- OTP trafiği ayrıldı ve izleniyor.
- Panolar ve uyarılar canlı, nöbette bir sorumluyla.
- Tanıtım kuyruklarını anında durduran bir durdurma düğmesi.
OmniChannels.ai nasıl yardımcı olur?
BroadNet, SMS'i doğrudan operatör bağlantısıyla iletir; TLS üzerinden SMPP 3.4'ü, hesap başına tahsis edilen bind'ları, ayrıca REST API, toplu gönderim, çift yönlü SMS, Unicode ve Arapça, HLR sorgulama ve teslim raporlarını destekler. Kapasite hesap ve rota başına boyutlandırılır: hedeflerinizi, tepe hacminizi, gönderim pencerelerinizi ve gönderen kimliklerinizi bize söyleyin; verimi, bind'ları ve kayıtları sizinle birlikte kararlaştıralım. Ekibimiz gönderen kimliği kayıtlarını hazırlar. Hacim planınızla satış ekibiyle iletişime geçin veya toptan satış programına bakın.
Sık sorulan sorular
Bir milyon mesaj göndermek için saniyede kaç SMS gerekir?
Parça sayısını gönderim penceresindeki saniyeye bölün. Bir saatte bir milyon tek parçalı mesaj saniyede yaklaşık 278, dört saatte yaklaşık 69, bir günün tamamına yayılırsa yaklaşık 12 gerektirir. Çok parçalı mesajlar çoğu platformda parça başına bir sayılır; bu yüzden iki parçalı bir mesaj ihtiyacınız olan hızı ikiye katlar.
SMPP pencere boyutu nedir ve nasıl ayarlanır?
Pencere, gönderilmiş ama henüz yanıtlanmamış, bekleyen submit_sm isteklerinin sayısıdır. SMPP spesifikasyonu asenkron isteklere izin verir ama sınırı uygulamaya bırakır. Pratik bir kural: pencere en az hedef TPS çarpı saniye cinsinden gidiş-dönüş süresi olsun; ardından yalnızca sağlayıcınızın kabul ettiği sınıra kadar artırın, çünkü aşmak kısıtlamaya yol açar.
Yüksek hacim için kaç SMPP bind'a ihtiyacım var?
Tepe hızınıza, sağlayıcınızın kabul ettiği bind başına sınıra ve yedeklilik ihtiyacınıza bağlıdır. Tepe TPS'yi kabul edilen bind başına hıza bölün, yukarı yuvarlayın ve kopan bir bağlantı gönderimi durdurmasın diye en az bir yedek ekleyin. OTP trafiğini kendi bind'larında veya hesabında tutun. Bind'lar hesap başına tahsis edilir.
ESME_RTHROTTLED aldığımda ne yapmalıyım?
Yavaşlayın. Spesifikasyon ESME_RTHROTTLED'ı (0x58) göndericinin izin verilen mesaj limitlerini aşması olarak tanımlar. Gönderimleri duraklatın veya azaltın, reddedilen mesajları üstel geri çekilme ve jitter ile yeniden deneyin ve kısıtlamayı uzatan sıkı döngülerde asla yeniden denemeyin. Düzenli oluyorsa pencereniz veya hızınız anlaşılan limitin üzerindedir.
Milyonlarca teslim raporunu nasıl işlerim?
Her deliver_sm'i hemen deliver_sm_resp ile onaylayın, raporu bir kuyruğa koyun ve mesaj kimliğine göre anahtarlanmış bir depolamaya asenkron işleyin. Raporlar tekrarlanabileceği için işlemeyi idempotent yapın. Rapor tüketicilerini gönderim yolundan ayrı çalıştırın ve ne kadar geride kaldıklarını izleyin.
Geceleri tanıtım SMS'i gönderebilir miyim?
Birçok pazarda hayır. BAE pazarlama mesajlarını 21:00-07:00 arası, Suudi Arabistan 22:00-09:00 arası ve Ramazan'da 01:00-12:00 arası yasaklar. Tanıtımları her alıcının yerel saatine göre zamanlayın; OTP ve uyarıları, tanıtım olmadıkları için ayrı gönderin.
Kaynaklar
Okumaya devam edin
Diğer rehberlerSMS ve OTP
A2P SMS Toptan Satış: Sağlayıcı Seçimi ve Rota Testi
A2P SMS toptan satış rehberi: kimler alır, SMPP bind'lar nasıl çalışır, DLR ve gecikme rotayı nasıl gösterir, hangi KYC ve dolandırıcılık kontrolleri istenmeli.
9 dk okuma
SMS ve OTP
Gri Rota ve Doğrudan Rota SMS: Riskler ve Nasıl Anlaşılır?
Gri rota SMS: SIM farm ve P2P bypass nasıl çalışır, operatörler neden engeller, sahte raporların riskleri ve doğrudan rota kullandığınızı nasıl doğrularsınız.
8 dk okuma
Entegrasyon
Mesajlaşma API'si Nasıl Seçilir: CTO'lar için Kontrol Listesi
Mesajlaşma API'si nasıl seçilir: kanallar, rota kalitesi, webhook'lar, güvenlik, hız limitleri, yeniden deneme, SMPP, MCP, uyum ve fiyatlandırma için CTO kontrol listesi.
13 dk okuma
