*Hi all,*






























*I'm sorry its a bit long. I know you all are busy at ats summit. But
please read. We are created a caching solution for our iptv network using
ats(Parent-child). It is working. But videos streams stutter a lot when I
play using shaka player in chrome browser. Like videos get paused in every
2-3s. The configuration is given below. Please help me find the reason.
Also please suggest how we can make this solution better(is something
netter than hierarchy mod for this requirement). We have a nationwide mpls
network and we are starting operations in 4 cities. These 4 cities are
connected with mpls vpn. Our video processing headend in one city. 1.
Origin: (172.16.100.13)In headed we have origin server(which a video
packager/encrypted. Similar to encoders).2. Primary Parent Cache “A”
(172.16.0.40)Which is connected to origin in reverse proxy mode. 3.
Secondary Parent Cache “B” (172.16.16.10)Whose parent is “A” and child is
“C”4. Child cache “C” (172.16.0.42)Whose parent is “B”When client device
play the video, request will come to “C” and it gets the content from
parents. The server “C” will be in our partner network’s premises so I am
doing benchmarking for these.The issue is, when I play more streams from
the “C” videos stutter. Configuration is given below.Origin:
172.16.100.13Main Parent (A) 172.16.0.40 (If not in cache, get it from
Origin)cache.configurl_regex=.*
revalidate=10mstorage.configvar/trafficserver 25000Mremap.configmap
http://encoder.domain.com/ <http://encoder.domain.com/>
http://172.16.100.13/ <http://172.16.100.13/>
 @plugin=/opt/ats/libexec/trafficserver/regex_remap.so
@pparam=/tmp/regex.config @pparam=no-query-stringrecords.configCONFIG
proxy.config.http.server_ports STRING 80CONFIG proxy.config.http.cache.http
INT 1CONFIG proxy.config.http.cache.required_headers INT 0CONFIG
proxy.config.cache.ram_cache.size INT 536870912CONFIG
proxy.config.cache.ram_cache_cutoff INT 10485760CONFIG
proxy.config.cache.limits.http.max_alts INT 5CONFIG
proxy.config.cache.max_doc_size INT 0CONFIG
proxy.config.cache.min_average_object_size INT 8000CONFIG
proxy.config.url_remap.remap_required INT 0CONFIG
proxy.config.url_remap.pristine_host_hdr INT 1CONFIG
proxy.config.reverse_proxy.enabled INT 1CONFIG
proxy.config.url_remap.remap_required INT 0CONFIG
proxy.config.url_remap.pristine_host_hdr INT 1CONFIG
proxy.config.reverse_proxy.enabled INT 1CONFIG
proxy.config.diags.debug.enabled INT 1CONFIG proxy.config.diags.debug.tags
STRING http.*|dns.*CONFIG proxy.config.cache.enable_read_while_writer INT
1CONFIG proxy.config.http.background_fill_active_timeout INT 0CONFIG
proxy.config.http.background_fill_completed_threshold FLOAT 0.000000CONFIG
proxy.config.cache.max_doc_size INT 0CONFIG
proxy.config.cache.read_while_writer.max_retries INT 10CONFIG
proxy.config.cache.read_while_writer_retry.delay INT 50CONFIG
proxy.config.cache.control.filename STRING cache.configParent (B)
172.16.16.10 (If not in cache get it from
“A”)storage.configvar/trafficserver
25000Mparent.configdest_domain=encoder.domain.com
<http://encoder.domain.com> method=get parent="172.16.0.40:80
<http://172.16.0.40:80>"  go_direct=falserecords.configCONFIG
proxy.config.http.server_ports STRING 80CONFIG
proxy.config.http.parent_proxy_routing_enable INT 1CONFIG
proxy.config.http.parent_proxy.retry_time INT 300CONFIG
proxy.config.http.parent_proxy.connect_attempts_timeout INT 30CONFIG
proxy.config.http.forward.proxy_auth_to_parent INT 0CONFIG
proxy.config.http.uncacheable_requests_bypass_parent INT 0CONFIG
proxy.config.http.cache.http INT 1CONFIG
proxy.config.http.cache.ignore_client_cc_max_age INT 1CONFIG
proxy.config.http.normalize_ae_gzip INT 1CONFIG
proxy.config.http.cache.cache_responses_to_cookies INT 1CONFIG
proxy.config.http.cache.cache_urls_that_look_dynamic INT 1CONFIG
proxy.config.http.cache.when_to_revalidate INT 0CONFIG
proxy.config.http.cache.required_headers INT 0CONFIG
proxy.config.cache.ram_cache.size INT 5368709120CONFIG
proxy.config.cache.ram_cache_cutoff INT 4194304CONFIG
proxy.config.cache.limits.http.max_alts INT 5CONFIG
proxy.config.cache.max_doc_size INT 0CONFIG
proxy.config.cache.min_average_object_size INT 8000CONFIG
proxy.config.url_remap.remap_required INT 0CONFIG
proxy.config.url_remap.pristine_host_hdr INT 0CONFIG
proxy.config.reverse_proxy.enabled INT 0CONFIG
proxy.config.diags.debug.enabled INT 1CONFIG proxy.config.diags.debug.tags
STRING http.*|dns.*|regexCONFIG proxy.config.cache.enable_read_while_writer
INT 1CONFIG proxy.config.http.background_fill_active_timeout INT 0CONFIG
proxy.config.http.background_fill_completed_threshold FLOAT 0.000000CONFIG
proxy.config.cache.max_doc_size INT 0CONFIG
proxy.config.cache.read_while_writer.max_retries INT 10CONFIG
proxy.config.cache.read_while_writer_retry.delay INT 50CONFIG
proxy.config.cache.control.filename STRING cache.configremap.configmap
http://encoder.domain.com <http://encoder.domain.com>
http://encoder.domain.com <http://encoder.domain.com>
@plugin=/opt/ats/libexec/trafficserver/regex_remap.so
@pparam=/tmp/regex.config @pparam=no-query-string[root@mumbai
trafficserver]# cat /tmp/regex.config #^/(.*)$ http://172.16.100.7/$1
<http://172.16.100.7/$1>^/(.*)$ http://encoder.domain.com/$1
<http://encoder.domain.com/$1>Child (“C”)  : 172.16.0.42 (if not in cache,
get from “B”)cache.configurl_regex=.*
revalidate=10mstorage.configvar/trafficserver 26000Mrecords.configCONFIG
proxy.config.http.server_ports STRING 80CONFIG
proxy.config.http.parent_proxy_routing_enable INT 1CONFIG
proxy.config.http.parent_proxy.retry_time INT 300CONFIG
proxy.config.http.parent_proxy.connect_attempts_timeout INT 30CONFIG
proxy.config.http.forward.proxy_auth_to_parent INT 0CONFIG
proxy.config.http.uncacheable_requests_bypass_parent INT 0CONFIG
proxy.config.http.cache.http INT 1CONFIG
proxy.config.http.cache.ignore_client_cc_max_age INT 1CONFIG
proxy.config.http.normalize_ae_gzip INT 1CONFIG
proxy.config.http.cache.cache_responses_to_cookies INT 1CONFIG
proxy.config.http.cache.cache_urls_that_look_dynamic INT 1CONFIG
proxy.config.http.cache.when_to_revalidate INT 0CONFIG
proxy.config.http.cache.required_headers INT 0CONFIG
proxy.config.cache.ram_cache.size INT 536870912CONFIG
proxy.config.cache.ram_cache_cutoff INT 10485760CONFIG
proxy.config.cache.limits.http.max_alts INT 5CONFIG
proxy.config.cache.max_doc_size INT 0CONFIG
proxy.config.cache.min_average_object_size INT 8000CONFIG
proxy.config.url_remap.remap_required INT 0CONFIG
proxy.config.url_remap.pristine_host_hdr INT 1CONFIG
proxy.config.reverse_proxy.enabled INT 0CONFIG
proxy.config.cache.enable_read_while_writer INT 1CONFIG
proxy.config.http.background_fill_active_timeout INT 0CONFIG
proxy.config.http.background_fill_completed_threshold FLOAT 0.000000CONFIG
proxy.config.cache.max_doc_size INT 0CONFIG
proxy.config.cache.read_while_writer.max_retries INT 10CONFIG
proxy.config.cache.read_while_writer_retry.delay INT
50parent.configdest_domain=encoder.domain.com <http://encoder.domain.com>
method=get parent="172.16.16.10:80 <http://172.16.16.10:80>"
 go_direct=falseremap.configmap http://encoder.domain.com
<http://encoder.domain.com> http://encoder.domain.com
<http://encoder.domain.com>
@plugin=/opt/ats/libexec/trafficserver/regex_remap.so
@pparam=/tmp/regex.config @pparam=no-query-string[root@cachingtest
trafficserver]# cat /tmp/regex.config^/(.*)$ http://encoder.domain.com/$1
<http://encoder.domain.com/$1>Logs:Child “C” :1447767164.044 0 172.16.0.24
TCP_HIT/200 25546 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263237.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263237.m4s> - NONE/-
video/mp41447767164.069 0 172.16.0.24 TCP_HIT/200 26029 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263238.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263238.m4s> - NONE/-
video/mp41447767164.092 0 172.16.0.24 TCP_HIT/200 25554 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263239.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263239.m4s> - NONE/-
video/mp41447767164.096 44 172.16.0.24 TCP_HIT/200 301794 GET
http://encoder.domain.com/dash/news9/1_289-0-I-1263237.m4s
<http://encoder.domain.com/dash/news9/1_289-0-I-1263237.m4s> - NONE/-
video/mp41447767164.789 0 172.16.0.24 TCP_HIT/200 25990 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263240.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263240.m4s> - NONE/-
video/mp41447767165.710 919 172.16.0.24 TCP_HIT/200 293001 GET
http://encoder.domain.com/dash/news9/1_289-0-I-1263238.m4s
<http://encoder.domain.com/dash/news9/1_289-0-I-1263238.m4s> - NONE/-
video/mp41447767171.128 79 172.16.0.24 TCP_MISS/200 25419 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263241.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263241.m4s> -
PARENT_HIT/172.16.16.10 <http://172.16.16.10> video/mp41447767171.278 79
172.16.0.24 TCP_MISS/200 26194 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263242.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263242.m4s> -
PARENT_HIT/172.16.16.10 <http://172.16.16.10> video/mp41447767171.420 73
172.16.0.24 TCP_MISS/200 25336 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263243.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263243.m4s> -
PARENT_HIT/172.16.16.10 <http://172.16.16.10> video/mp41447767171.497 70
172.16.0.24 TCP_MISS/200 25763 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263244.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263244.m4s> -
PARENT_HIT/172.16.16.10 <http://172.16.16.10> video/mp41447767173.732 74
172.16.0.24 TCP_MISS/200 25616 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263245.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263245.m4s> -
PARENT_HIT/172.16.16.10 <http://172.16.16.10> video/mp4Parent
“B”:1447767174.205 229 172.16.0.42 TCP_MISS/200 293001 GET
http://encoder.domain.com/dash/news9/1_289-0-I-1263238.m4s
<http://encoder.domain.com/dash/news9/1_289-0-I-1263238.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767174.552 70
172.16.0.42 TCP_MISS/200 26029 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263238.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263238.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767175.732 73
172.16.0.42 TCP_MISS/200 25554 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263239.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263239.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767176.179 317
172.16.0.42 TCP_MISS/200 499092 GET
http://encoder.domain.com/dash/news9/1_289-0-I-1263239.m4s
<http://encoder.domain.com/dash/news9/1_289-0-I-1263239.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767177.747 72
172.16.0.42 TCP_MISS/200 25990 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263240.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263240.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767178.325 257
172.16.0.42 TCP_MISS/200 455293 GET
http://encoder.domain.com/dash/news9/1_289-0-I-1263240.m4s
<http://encoder.domain.com/dash/news9/1_289-0-I-1263240.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767185.678 50
172.16.0.42 TCP_MISS/200 25419 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263241.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263241.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767185.833 54
172.16.0.42 TCP_MISS/200 26194 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263242.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263242.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767185.977 53
172.16.0.42 TCP_MISS/200 25336 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263243.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263243.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767186.054 50
172.16.0.42 TCP_MISS/200 25763 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263244.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263244.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp41447767188.287 50
172.16.0.42 TCP_MISS/200 25616 GET
http://encoder.domain.com/dash/news9/3_545-0-I-1263245.m4s
<http://encoder.domain.com/dash/news9/3_545-0-I-1263245.m4s> -
PARENT_HIT/172.16.0.40 <http://172.16.0.40> video/mp4Parent
“A”:1447767337.197 207 172.16.16.10 TCP_MISS/200 499092 GET
http://172.16.100.13/dash/news9/1_289-0-I-1263239.m4s
<http://172.16.100.13/dash/news9/1_289-0-I-1263239.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767338.797 37
172.16.16.10 TCP_MISS/200 25990 GET
http://172.16.100.13/dash/news9/3_545-0-I-1263240.m4s
<http://172.16.100.13/dash/news9/3_545-0-I-1263240.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767339.384 220
172.16.16.10 TCP_MISS/200 455293 GET
http://172.16.100.13/dash/news9/1_289-0-I-1263240.m4s
<http://172.16.100.13/dash/news9/1_289-0-I-1263240.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767346.728 12
172.16.16.10 TCP_MISS/200 25419 GET
http://172.16.100.13/dash/news9/3_545-0-I-1263241.m4s
<http://172.16.100.13/dash/news9/3_545-0-I-1263241.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767346.883 7
172.16.16.10 TCP_MISS/200 26194 GET
http://172.16.100.13/dash/news9/3_545-0-I-1263242.m4s
<http://172.16.100.13/dash/news9/3_545-0-I-1263242.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767347.027 19
172.16.16.10 TCP_MISS/200 25336 GET
http://172.16.100.13/dash/news9/3_545-0-I-1263243.m4s
<http://172.16.100.13/dash/news9/3_545-0-I-1263243.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767347.104 11
172.16.16.10 TCP_MISS/200 25763 GET
http://172.16.100.13/dash/news9/3_545-0-I-1263244.m4s
<http://172.16.100.13/dash/news9/3_545-0-I-1263244.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp41447767349.337 8
172.16.16.10 TCP_MISS/200 25616 GET
http://172.16.100.13/dash/news9/3_545-0-I-1263245.m4s
<http://172.16.100.13/dash/news9/3_545-0-I-1263245.m4s> -
DIRECT/172.16.100.13 <http://172.16.100.13> video/mp4*
-- 
Randeep
Mob: +919447831699[kerala]
Mob: +919880050349[B'lore]
http://twitter.com/Randeeppr
http://in.linkedin.com/in/randeeppr

Reply via email to