Anthony,

Well a similar situation was happening with APE 1.0. APE's process
would slowly increase and eventually it reach a certain point (around
15% to 20%). At this point, I would attempt to post and it would
return "UNKNOWN CHANNEL" which would normally happen when nobody is
listening to that channel. Usually it took about 6-8 hours to reach
this point.

Under 1.1.0, it appears to be a similar time frame, (perhaps a little
longer ~10 to ~12 hours) and the memory consumption is much lower
(around 1.9%), however at this point a post-attempt will return
"BAD_PARAMS."

The test I conducted with 1.1.0 was about ten posts a second, but
under the 1.0 version the traffic was much heavier, probably around
100 a second. 1.0 seemed to handle this really well, I automatically
restarted the 1.0 server every 6 hours and it definitely did the job.

Thank you,
Doug

On Apr 1, 9:35 am, <[email protected]> wrote:
> Ok, so you didn't have this issue with APE 1.0 ?
> How many messages do you send before encoutering it ?
>
> Thanks
>
> On Fri, 1 Apr 2011 08:31:37 -0700 (PDT), Doug <[email protected]>
> wrote:
>
>
>
>
>
>
>
> > Anthony,
>
> > I haven't changed any of the other APE server script, just what I got
> > from you in the 1.1.0 release. Perhaps I could turn some more logging
> > on to debug some more?
>
> > Thanks for your hard work on this project,
> > Regards,
> > Doug
>
> > On Mar 31, 3:13 pm, Doug <[email protected]> wrote:
> >> I'm sorry I must have misunderstood, the way I am sending the events
> >> is through a PHP script similar to the one that I found on APE's
> >> website that does a single POST:
>
> >> <?php
> >> $c=0;
> >> while($c <= 5) {
> >>         $APEserver = 'http://mydomain:6969/?';
> >>         $APEPassword = 'mypasswd';
>
> >>         $messages = array(
> >>         'Test Message',
> >>         'test2',
> >>         'test3',
> >>         );
>
> >>         $cmd = array(array(
> >>           'cmd' => 'inlinepush',
> >>           'params' => array(
> >>         'password' => $APEPassword,
> >>         'raw' => 'DATA',
> >>         'channel' => 'mychannelname',
> >>         'data' => array( //Note: data can't be a string
> >>         'message' => $messages[array_rand($messages)]
> >>         )
> >>            )
> >>         ));
> >>         echo "<br><br>".json_encode($cmd)."<br><br>";
> >>         var_dump($APEserver.rawurlencode(json_encode($cmd)));
> >>         $data =
> >> file_get_contents($APEserver.rawurlencode(json_encode($cmd)));
> >>         $data = json_decode($data, TRUE);
>
> >>         if ($data[0]->data->value == 'ok') {
> >>         echo 'Message sent!';
> >>         } else {
> >>         //echo 'Error sending message, server response is : <pre>'.
> >>         print_r($data);
> >>         echo '</pre>';
> >>         }
> >>         $c++;
>
> >> }
>
> >> ?>
>
> >> This is the page that tells me "ok" sending the message until the
> >> server reaches 1.9% and then it returns BAD_PARAMS, the listening page
> >> doesn't seem aware of any problems.
> >> Thank you, regards,
> >> Doug
>
> >> On Mar 31, 2:51 pm, Anthony Catel <[email protected]> wrote:
>
> >> > So, If I understand correctly, at the begening everything works fine
> >> > and
> >> > sudently stop working with a "BAD_PARAMS".
> >> > You don't have any server-side script?
>
> >> > Le 31/03/2011 22:05, Doug a crit :
>
> >> > > Hi Anthony,
>
> >> > > Thanks for the response, I am testing with 4 concurrent users.
>
> >> > > I am working with a Fedora, Amazon Linux AMI, EC2 instance, here's
> >> > > some specs:
>
> >> > > Small Instance default*
> >> > > 1.7 GB memory
> >> > > 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit)
> >> > > 160 GB instance storage
> >> > > 32-bit platform
> >> > > I/O Performance: Moderate
> >> > > API name: m1.small
>
> >> > > I have added a function that wraps the APE.Client(); code (I only
> run
> >> > > startRT() from the listener page):
>
> >> > > function startRT(channel, callback) {
> >> > >      var client = new APE.Client();
> >> > >      client.load();
> >> > >      client.addEvent('load', function() {
> >> > >                                    client.core.start();
> >> > >      });
> >> > >      client.addEvent('ready', function() {
> >> > >            myJoin(client , channel);
> >> > >                    client.onRaw('data', function(raw, pipe) {
> >> > >                            callback(raw.data);
> >> > >                  });
> >> > >       });
> >> > >       return client;
> >> > > }
>
> >> > > function myJoin(client, channel) {
>
> >> > >      if(isArray(channel) == false)   {
> >> > >          channel = removeNonAlphas(channel);
> >> > >          client.core.join(channel);
> >> > >      }
> >> > >      else {
> >> > >          for (var i in channel)  {
> >> > >                      channel[i] = removeNonAlphas(channel[i]);
> >> > >          }
> >> > >          client.core.join(channel);
> >> > >      }
> >> > >      var channelpipe = channel.toLowerCase();
> >> > > }
>
> >> > > function removeNonAlphas(channel){
> >> > >      channel = channel.replace(/[^a-zA-Z 0-9]+/g,'');
> >> > >      return channel;
> >> > > }
>
> >> > > function isArray(obj) {
> >> > >      if (obj.constructor.toString().indexOf("Array") == -1)
> >> > >         return false;
> >> > >      else
> >> > >         return true;
> >> > > }
>
> >> > > Thank you!
>
> >> > > On Mar 31, 11:51 am, Anthony Catel<[email protected]>  wrote:
> >> > >> Hi doog,
>
> >> > >> You don't have any custom server-side javascript?
>
> >> > >> How many concurent users do you have?
> >> > >> What is your CPU architecture?
>
> >> > >> Thanks
>
> >> > >> Le 31/03/2011 19:18, Doug a crit :
>
> >> > >>> I've been experimenting with the new APE 1.1.0, and it appears
> >> > >>> that it
> >> > >>> works until memory consumption of the aped process reaches 1.9%
> and
> >> > >>> then whenever I attempt to post some data I get
> >> > >>> Array ( [time] =>    1301590992 [raw] =>    ERR [data] =>  
>  Array
> >> > >>> ( [code] =>
> >> > >>> 001 [value] =>    BAD_PARAMS ) ) )
> >> > >>> I can open a channel and I see this in ape.log:
> >> > >>> 2011-03-30 15:58:21 - src/users.c:180 - New user - (ip :
> >> > >>> 2.my.ip.69)
> >> > >>> So it appears to recognize that somebody has joined the channel
> >> > >>> and is
> >> > >>> listening. Also, the page I have set up that listens to the
> channel
> >> > >>> sends no errors, it includes the js file and its allocated a
> >> > >>> numbered
> >> > >>> subdomain like it should (4.mydomain.com, for example).
> >> > >>> My main.ape.js looks like this:
> >> > >>> Ape.addEvent("init", function() {
> >> > >>>     include("framework/mootools.js");
> >> > >>>     include("framework/Http.js");
> >> > >>>     //include("framework/userslist.js");
> >> > >>>     include("utils/utils.js");
> >> > >>>     include("commands/proxy.js");
> >> > >>>     include("commands/inlinepush.js");
> >> > >>>     //include("examples/nickname.js");
> >> > >>>     //include("examples/move.js");
> >> > >>>     //include("utils/checkTool.js"); //Just needed for the APE
> JSF
> >> > >>> diagnostic tool, once APE is installed you can remove it
> >> > >>>     //include("examples/ircserver.js");
> >> > >>>     //include("framework/http_auth.js");
> >> > >>> });
> >> > >>> I've commented out some stuff that I didn't think I needed. This
> >> > >>> configuration works on an earlier installation (1.01a I believe).
> >> > >>> The
> >> > >>> problem with the earlier version is memory consumption, but it
> >> > >>> seems
> >> > >>> to happen at a higher percentage (round about 15-20%).
> >> > >>> I have tried using the older JSF and the newest one I could find
> on
> >> > >>> github, behavior appears to be identical.
> >> > >>> I have fixed the older installation by running a cronjob every 6
> >> > >>> hours
> >> > >>> to restart the ape process.
> >> > >>> Any advice or suggestions would be a huge help, thank you!

-- 
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/

Reply via email to