[
https://issues.apache.org/jira/browse/TS-489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12925381#action_12925381
]
Ricky Chan commented on TS-489:
-------------------------------
Okay I did a quick re-run of my tests user the 2.0.1 stable release.
I ran this for about 30 minutes, and with -c 20,000.
Here is my results:
Firstly it no longer crashes and AB will show successful results, However
looking at the origin logs, I can see that cache data is not working as
expected. Firstly I get 1,000's of queries to the origins, i.e. collapsing
caching is no longer obeyed. Secondly, every few seconds it will make more
queries even though cache for max-age is set to 86400 and heuristics is set to
a rate where it shouldn't come back that quickly.
I then examined TS logs, and I can see a load of TCP_MISS's.
I then repeat the test with clustering disabled. No hits to the origin at all
(as it has a cached version already), I then purge the content. from the
cache, and I see 1 connection to the origin as expect even though I am
requesting 20,000 copies of it (so collapsing is working as expected).
So these 2 features in 2.0.1 (albeit without crashing) in my tests are not
working properly, hitting the origin in those volumes are not possible
acceptable for my downstream origin owners.
Mohan, check you logs (origin and TS) and make sure they have behaved as
expected, because I suspect not.
> Seg Fault with Connection_Collapsing and clustering enabled.
> ------------------------------------------------------------
>
> Key: TS-489
> URL: https://issues.apache.org/jira/browse/TS-489
> Project: Traffic Server
> Issue Type: Bug
> Affects Versions: 2.0.0
> Environment: Debian Lenny.
> 2.6.26-2-amd-64
> Sun Blade X6240 (2 x Six-Core AMD Opteron(tm) Processor 2439 SE)
> 64G Memory
> Reporter: Ricky Chan
> Fix For: 2.3.0
>
> Attachments: collapse1.trace, collapse2.trace, ts_489_testing.txt
>
>
> Bug is easily reproduced, with the following setup.
> Traffic Server 2.0.0
> Enable Clustering (so you'll need two machine and make sure cluster is
> actually working) (LOCAL proxy.local.cluster.type INT 1)
> Enable Connection Collapsing (CONFIG
> proxy.config.connection_collapsing.hashtable_enabled INT 1)
> Other changes to records.config which may or may affect it are changes to
> heuristics:
> CONFIG proxy.config.http.cache.heuristic_min_lifetime INT 5
> CONFIG proxy.config.http.cache.heuristic_max_lifetime INT 86400
> CONFIG proxy.config.http.cache.heuristic_lm_factor FLOAT 0.000100
> CONFIG proxy.config.http.cache.fuzz.time INT 240
> CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.000005
> Using a 3rd machine using apache benchmark (ab) and request with say -n
> 1000000 with keep alive (-k) and -c 8000 say. I found it happens all the
> time above 8000. I just fetched a file from origin on lighttpd which had a
> cache-control header of max-age 86400, so to reduce hitting origin. Size of
> file is 9 bytes only.
> Note: You need to set ulimit -n very high and set sysctl ip_local_port_range
> to larger than defaults to be able to run test, I did ulimit -n 1000000 and
> had sysctl -w net.ipv4.ip_local_port_range="1024 65000" to be able to run AB.
> Disabling clustering or connection Collapsing the program no longer.
> I then added GDB wrapper around traffic_server and it clearly shows it's the
> connection collapsing API which is at fault here.
> I'll add these traces as attachments.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.