<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
I created a subclass of WASession to handle a connection to GOODS. It allows my easy and almost transparent access to persistent storage. This seams to be a very common way to handle GOODS with Seaside. <BR>
<BR>
I have come across a problem in which I am not to sure there is a perfect solution to. For some reason goods will only allow about 200 connections. After that my Seaside apps (the ones whose sessions have not connected to the database) will lockup and wait for goods to allow new connections; after some stale sessions have been unregistered. <BR>
<BR>
We plan on servicing much more than 200 concurrent users so this is a bit of a problem. Also to DOS a Seaside application that relies on GOODS is trivial. A simple `while true; do wget &quot;<A HREF="http://bla.ca/seaside/bla">http://bla.ca/seaside/bla</A>&quot;; done` will do it.<BR>
<BR>
I tried initiating a GOODS connection at the start of a continuation and ending it at the end of a continuation but this caused major problems and crashed the image (understandable). Even if I could make this work or is even possible I don't think this would be such a good solution because I would loose the local cache (right?).<BR>
<BR>
I am starting to think I have 2 distinct problems and it will require 2 distinct solutions. <BR>
<BR>
1) Allowing &gt; 1000 concurrent database connections.<BR>
&nbsp;&nbsp;&nbsp; I can't seam to find a way to tell goods to allow more than ~200 connections. I don't see any reason why GOODS can not allow thousands or even tens of thousands (given enough fire power) of connections. <BR>
<BR>
2) Limit the ability for someone to DOS our applications. This could be something as simple as limiting the number of connections from an IP address.&nbsp;&nbsp; <BR>
<BR>
Any ideas on how I could best handle this ?<BR>
<BR>
<BR>
Thanks<BR>
Will<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
-- <BR>
William E Harford &lt;<A HREF="mailto:seaside@harford.org">seaside@harford.org</A>&gt;
</TD>
</TR>
</TABLE>
</BODY>
</HTML>