Showing posts with label Amazon EC2. Show all posts
Showing posts with label Amazon EC2. Show all posts

Thursday, October 09, 2014

How many page views can Apex sustain when running on Oracle XE?

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.


While some people think that hosting a web site on top of Oracle XE can be hardly considered much more than a joke, I can claim instead, basing on my personal experience of the last 5 years, that for small sites it can be a perfectly reasonable choice, provided you have the technical skills required to maintain it.

Here are some figures collected last night when a new type of bot hit one of my websites with a somewhat intense flow of requests compared to the average.

Status log starting from 2014/10/08 20:00:00 to 2014/10/09 04:00:00 +00:00
TimeframeApp IDUser AgentHit count
10/08 20:00XXXXXMozilla/4.0 (compatible; ICS)3902
10/08 20:00XXXXXother agents with hits < 10046
10/08 20:00XXXXX*** Partial Hits by App ***3948
10/08 20:00
*** Partial Hits ALL Apps *** 3948
10/08 21:00XXXXXMozilla/4.0 (compatible; ICS)6381
10/08 21:00XXXXXMozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)103
10/08 21:00XXXXXother agents with hits < 10017
10/08 21:00XXXXX*** Partial Hits by App ***6501
10/08 21:00
*** Partial Hits ALL Apps *** 6501
10/08 22:00XXXXXMozilla/4.0 (compatible; ICS)8149
10/08 22:00XXXXXother agents with hits < 10039
10/08 22:00XXXXX*** Partial Hits by App ***8188
10/08 22:00
*** Partial Hits ALL Apps *** 8188
10/08 23:00XXXXXMozilla/4.0 (compatible; ICS)8360
10/08 23:00XXXXXother agents with hits < 10052
10/08 23:00XXXXX*** Partial Hits by App ***8412
10/08 23:00
*** Partial Hits ALL Apps *** 8412
10/09 00:00XXXXXMozilla/4.0 (compatible; ICS)8420
10/09 00:00XXXXXother agents with hits < 10030
10/09 00:00XXXXX*** Partial Hits by App ***8450
10/09 00:00
*** Partial Hits ALL Apps *** 8450
10/09 01:00XXXXXMozilla/4.0 (compatible; ICS)8424
10/09 01:00XXXXXother agents with hits < 10073
10/09 01:00XXXXX*** Partial Hits by App ***8497
10/09 01:00
*** Partial Hits ALL Apps *** 8497
10/09 02:00XXXXXMozilla/4.0 (compatible; ICS)8413
10/09 02:00XXXXXother agents with hits < 10084
10/09 02:00XXXXX*** Partial Hits by App ***8497
10/09 02:00
*** Partial Hits ALL Apps *** 8497
10/09 03:00XXXXXMozilla/4.0 (compatible; ICS)1071
10/09 03:00XXXXXother agents with hits < 10029
10/09 03:00XXXXX*** Partial Hits by App ***1100
10/09 03:00
*** Partial Hits ALL Apps *** 1100


*** Total Hits ***53593
App IDApex UserPage IDHit count
XXXXXANONYMOUS153180
XXXXXANONYMOUS1049
XXXXXANONYMOUS187
XXXXXANONYMOUS257
XXXXXANONYMOUS3035
XXXXXANONYMOUS3221
XXXXXANONYMOUS4063
XXXXXANONYMOUS10049
XXXXXANONYMOUS30014
XXXXXANONYMOUS400159
XXXXXANONYMOUS5005
XXXXXANONYMOUS5204
XXXXX*** Total Hits for user ANONYMOUS ***
53593
XXXXX*** Total Hits for app XXXXX ***
53593
No errors found in 53593 log entries 


The blu dots belong to the Apache web server that acts as a proxy, the orange dots are the XE11g database server with Apex 4.2.

The Apache web server runs on a T2 micro instance on Amazon EC2, while the database server is a T2 small instance.

As you see the XE machine is handling pretty well the load which amounts more or less to an average of 2.36 requests per second in the busiest period.

The CPU load of course depends on the type of page visited, in this case most of the pages were not running expensive queries.

The spike at 22:00 hours UTC recorded a daily batch job activity that starts at midnight CET.

Thursday, April 21, 2011

The day the cloud fell on earth

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

Since 10.30 CET all Amazon EC2 instances located in the US-EAST region are basically unreachable or unusable.
As i have several web apps running over there, this is a problem for me.

It's a pity because I'm (still) really enthusiastic about the possibilities offered by an infrastructure like Amazon EC2 for a small company like mine, but clearly a system suffering a 6-hours (so far) outage could be regarded as unreliable by someone else and i started seeing comments of this tenor in the AWS forum from people who are really upset or definitely angry.

It's interesting to note that a 6-hours outage if measured over a year is still less than a total 0.1% downtime.
I don't know if most SLAs deal with downtime in terms of hours per year, at any rate this is the first unscheduled downtime i experienced thus far (and hopefully the last one for some time in the future...).

Given the current situation there is very little that i can do to help, other than reporting when it starts working again or any problems that are still existing.

Clearly a big company, in order to avoid service disruption like what we are experiencing today, should set up a failover infrastructure based on instances distributed across several data centers, but for "normal" companies i guess this is simply not affordable in terms of costs.

I wonder if Amazon will ever explain the reason of the failure, it will be interesting to know if this mess was caused by some 20-cent component that suddenly broke down or by some expensive piece of hardware.

Wednesday, March 16, 2011

About sending mail from Apex on Amazon EC2

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

This is just a little reminder in case I forget (again) that the SMTP port on Amazon EC2 receives special attention due to the potential exploitation by spammers.

If you run multiple Apex instances on Amazon EC2, it may sound convenient to configure a single mail server for all instances. Ideally one should not even bother to set up a dedicated mail server and use Amazon Simple Mail Service, but unfortunately the service only accepts SSL connections which rules out the standard APEX_MAIL API.
It is also less than desirable, I guess, to maintain separate mail servers for each instance, therefore I consolidated the mail server on a micro instance that does almost only that job at a very reasonable price.

In order to allow the communication between two EC2 instances belonging to the same security group, normally it is sufficient to enable the inbound traffic for the whole EC2 security group instead of each and every IP address, resulting in a much shorter firewall rules list. For instance, if I have machine A and B and they both belong to a security group called default whose security group ID is SG-8ab12345, then I can configure this default security group to accept inbound connections on a whole range of ports for SG-8ab12345.

Unfortunately this simple and effective method doesn't apply to port 25 (or so it seems).
The fact is further complicated by the dynamic nature of the private IP addresses assigned to each machine at every start.
One way to work around the problem of dynamic IPs so far has been to use elastic IPs (public static IPs) which are internally resolved into private IPs but this technique works for all ports except port 25.
So, the only solution I know is to explicitly add each and every elastic IP address against port 25 in the relevant security group firewall rules.

In Apex terms it means that you need to specify the elastic IP of the mail server in the Manage Instance/Feature Configuration page, in the Apex administrator (INTERNAL) workspace.

If you later remove the rule for port 25 as I did accidentally this morning, the APEX_MAIL_LOG view will be cluttered with unsent messages reporting SMTP transient error: 421 Service not available in the MAIL_SEND_ERROR column.

The best news however is that just yesterday Amazon announced the preliminary availability of VPC (Amazon Virtual Private Cloud), a new type of service that addresses multi-tier application issues, so may be that we can finally say goodbye to all these workarounds and headaches and configure our own public and private subnets inside the Amazon EC2 network.

yes you can!

Two great ways to help us out with a minimal effort. Click on the Google Plus +1 button above or...
We appreciate your support!

latest articles