/[Apache-SVN]/httpd/flood/trunk/STATUS
ViewVC logotype

Contents of /httpd/flood/trunk/STATUS

Parent Directory Parent Directory | Revision Log Revision Log


Revision 653656 - (show annotations) (download)
Tue May 6 00:42:11 2008 UTC (16 years, 3 months ago) by fielding
File size: 7733 byte(s)
promote flood to released products
1 flood STATUS: -*-text-*-
2 Last modified at [$Date$]
3
4 Release:
5
6 1.0: Released July 23, 2002
7 milestone-03: Tagged January 16, 2002
8 ASF-transfer: Released July 17, 2001
9 milestone-02: Tagged August 13, 2001
10 milestone-01: Tagged July 11, 2001 (tag lost during transfer)
11
12 RELEASE SHOWSTOPPERS:
13
14 * "Everything needs to work perfectly"
15
16 Other bugs that need fixing:
17
18 * I get a SIGBUS on Darwin with our examples/round-robin-ssl.xml
19 config, on the second URL. I'm using OpenSSL 0.9.6c 21 dec 2001.
20
21 * iPlanet sends "Content-length" - there is a hack in there now
22 to recognize it. However, all HTTP headers need to be normalized
23 before checking their values. This isn't easy to do. Grr.
24
25 * OpenSSL 0.9.6
26 Segfaults under high load. Upgrade to OpenSSL 0.9.6b.
27 Aaron says: I just found a big bug that might have been causing
28 this all along (we weren't closing ssl sockets).
29 How can I reproduce the problem you were seeing
30 to verify if this was the fix?
31
32 * SEGVs when /tmp/.rnd doesn't exist are bad. Make it configurable
33 and at least bomb with a good error message. (See Doug's patch.)
34 Status: This is fixed, no?
35
36 * If APR has disabled threads, flood should as well. We might want
37 to have an enable/disable parameter that does this also, providing
38 an error if threads are desired but not available.
39
40 * flood needs to clear pools more often. With a long running test
41 it can chew up memory very quickly. We should just bite the bullet
42 and create/destroy/clear pools for each level of our model:
43 farm, farmer, profile, url/request-cycle, etc.
44
45 * APR needs to have a unified interface for ephemeral port
46 exhaustion, but aparently Solaris and Linux return different
47 errors at the moment. Fix this in APR then take advantage of
48 it in flood.
49
50 * The examples/analyze-relative scripts fail when there are less
51 than 5 unique URLs.
52
53 Other features that need writing:
54
55 * More analysis and graphing scripts are needed
56
57 * Write robust tool (using tethereal perhaps) to take network dumps
58 and convert them to flood's XML format.
59 Status: Justin volunteers. Aaron had a script somewhere that is
60 a start. Jacek is working on a Mozilla application, codename
61 "Flood URL bag" (much like Live HTTP Headers) and small
62 HTTP proxy.
63
64 * Get chunked encoding support working.
65 Status: Justin volunteers. He got sidetracked by the httpd
66 implementation of input filtering and never finished
67 this. This is a stopgap until apr-serf is completed.
68
69 * Maybe we should make randfile and capath runtime directives that
70 come out of the XML, instead of autoconf parameters.
71
72 * We are using apr_os_thread_current() and getpid() in some places
73 when what we really want is a GUID. The GUID will be used to
74 correlate raw output data with each farmer. We may wish to print
75 a unique ID for each of farm, farmer, profile, and url to help in
76 postprocessing.
77
78 * We are using strtol() in some places and strtoll() in others.
79 Pick one (Aaron says strtol(), but he's not sure).
80
81 * Validation of responses (known C-L, specific strings in response)
82 Status: Justin volunteers
83
84 * HTTP error codes (ie. teach it about 302s)
85 Justin says: Yeah, this won't be with round_robin as implemented.
86 Need a linked list-based profile where we can insert
87 new URLs into the sequence.
88
89 * Farmer (Single-thread, multiple profiles)
90 Status: Aaron says: If you have threads, then any Farmer can be
91 run as part of any Farm. If you don't have threads, you can
92 currently only run one Farmer named "Joe" right now (this will
93 be changed so that if you don't have threads, flood will attempt
94 to run all Farmers in serial under one process).
95
96 * Collective (Single-host, multiple farms)
97 This is a number of Farms that have been fork()ed into child processes.
98
99 * Megaconglomerate (Multiple hosts each running a collective)
100 This is a number of Collectives running on a number of hosts, invoked
101 via RSH/SSH or maybe even some proprietary mechanism.
102
103 * Other types of urllists
104 a) Random / Random-weighted
105 b) Sequenced (useful with cookie propogation)
106 c) Round-robin
107 d) Chaining of the above strategies
108 Status: Round-robin is complete.
109
110 * Other types of reports
111 Status: Aaron says: "simple" reports are functional. Justin added
112 a new type that simply prints the approx. timestamp when
113 the test was run, and the result as OK/FAIL; it is called
114 "easy reports" (see flood_easy_reports.h).
115 Furthermore, simple_reports and easy_reports both print
116 out the current requesting URI line.
117
118 Documentation that needs writing:
119
120 * Documentation? What documentation? RTFS?
121 Status: Justin volunteers. He'll probably use Anakia for user
122 docs and doxygen for source code comments.
123
124 * Feature set
125 We'll have to eventually write down all the features we support,
126 which will most likely come out to be the various XML parameters
127 we support.
128
129 Available Patches:
130
131 Open issues:
132
133 * Ponder using apr-serf in flood
134 Status: This requires apr-serf to be written. Chicken and egg.
135 Ideally, apr-serf would handle buckets, filters, and
136 other cool stuff. However, this isn't the highest of
137 priorities.
138
139 * Validating XML Parser?
140 Justin says: I don't think we want this. We want a standalone
141 validator.
142 Aaron says: I strongly feel we should have this turned on at
143 least for the invoking "Megaconglomerate". The added
144 overhead for validating when we're already parsing
145 will be minimal. It will not affect the results of
146 the tests. It only happens when a new flood process
147 is created (directly or via rsh/ssh), not when invoking
148 a collective, farm, farmer, or profile. What it gives
149 us from the user's standpoint is far greater than
150 the impact of the added startup overhead.
151 (Maybe a flood argument that disables it for when
152 some UI wrapper already did the checking or if it's
153 being invoked as part of a megaconglomerate (rsh/ssh).)
154
155 * Supporting use of installed APR / APR-util
156 Justin says: Requires changes to APR/APR-util to make it install
157 the right stuff. We currently rely on the source.
158
159 * Mandrake Linux 8.0 and OpenSSL 0.9.6a just aren't coexisting at all.
160 The problem seems to be that OpenSSL is refusing to initialize the
161 PRNG. Go figure. I give up on this for now, but it is a big nasty
162 bug in something somewhere. This code works on Solaris/Intel.
163 That's all I'll say on the matter for now.
164
165 * Report Aggregation
166 We're not sure how to handle reporting quite yet. We'd like to keep
167 it open ended and flexible, but that will be difficult to do while
168 maintaining the ability to run a huge variety of tests.
169
170 * WebLogic 5.10 Service Pack 9
171 No one told BEA how to make an HTTP server. Send it Connection: Close
172 and a cookie, and it'll respond with Connection: Keep-Alive (no cookie
173 and it honors Connection: Close). That's wrong.

Properties

Name Value
svn:eol-style native
svn:keywords Date

infrastructure at apache.org
ViewVC Help
Powered by ViewVC 1.1.26