473,653 Members | 2,990 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Clustering and Session Management

We're running a fairly busy and complex e-commerce website. It's an
online retailer. We utilize MySQL for most of our site-based dynamic
data, and then we use Oracle to access inventory and place orders. We
have two seperate machines for database and web application
(reasonably powerful dual xeon 3ghz machines, 6gb ram each).

We're running Apache 1.3.28 with PHP 4.3.3, mod_ssl 2.8.15 and OpenSSL
0.9.6b. We are running MySQL 4.0.16 as our db and Oracle 8.0.5 as the
inventory.

We front the webserver with a Nortel Alteon AD3 load balancer and it's
currently configured for one webserver. The webserver talks to the
database on the back-end (via second network).

We have a second webserver in place but are unable to bring it into
load-balancing because of sessions. We use flat-file sessions and
regularly build 20,000+ each day (cleaned up after 24 hours). We ran
into performance issues using NFS to store the flat files between the
two machines, so we dropped down to one server.

The question is, what is out there to support distributed session
management? I have taken a look at msession but I can't seem to get it
to compile correctly on RedHat Enterprise ES v3. It also seems to want
to use PostgreSQL.

Does anyone have an opinion on which way we should go? I've thought
about using the database to store the sessions, but that would be a
write and read for every pageview.

We store session numbers via cookies, and I thought about using Cookie
persistance with our AD3's, but it seems like that might introduce
other problems in the event of a server going down, etc. I have also
thought about using client-based persistance (IP Address) but that
could possibly throw the load-balancing out of whack with
super-proxies (AOL, etc).

Anyone have any ideas? Are there any super-fast database products that
would be more suited to many small writes and reads?

Thanks,
Jeff
Jul 17 '05 #1
3 3619
"Jeff" <sp**@lightweb. net> wrote in message
news:f5******** *************** ***@posting.goo gle.com...
We're running a fairly busy and complex e-commerce website. It's an
online retailer. We utilize MySQL for most of our site-based dynamic
data, and then we use Oracle to access inventory and place orders. We
have two seperate machines for database and web application
(reasonably powerful dual xeon 3ghz machines, 6gb ram each).
...
....
Anyone have any ideas? Are there any super-fast database products that
would be more suited to many small writes and reads?

Thanks,
Jeff


The most simplest way is to have a user stay on the same webserver. name the
two servers www1 and www2, this way the entire session stays on one webhead.
(head web server)

But I do not know how your load balancer is working, is it really managing
load? checking the status of the servers cpu/mem etc? monitoring tcp
sessions?

But if you must have data flowing from multiple webheads for every
connection, then use a back end file server for the sessions, mount via NFS
or SAMBA.

BTW, it is best to use GigE on the backchannel.

One of my clients has a similar situation, 4 webheads, and one dual cpu,
raid session server, the webheads send/recieve their session info on the
backchanel to the session server, via http. So it is not simple save session
stuff. I wrote a distributed session management system for them.
--
Mike Bradley
http://www.gzentools.com -- free online php tools
Jul 17 '05 #2
The project I'm working on is running on 30 load-balanced dual-xeon
Apaches. (I'm not aware of how the load balancing works.)

Sessions (we have around 2 million visits/day) are stored in MySql on 4
more of the dual-xeons. The custom session handling routine (using the
standard "session_set_sa ve_handler()") decides which of the DB servers
to go to based on a modulo calculated from the session id. I haven't had
a chance to look at the exact algorithm for this, but it seems to
distribute load fairly evenly between the 4 servers, even if a user gets
his pages from all over the 30 apaches.

Hope this helps,

Jochen

Jul 17 '05 #3
What kind of overhead is there for storing sessions in a database? That's
question I've long thought about but never gotten around to answer.

In the same situation I'd have gone with the simple solution of putting the
session files in a shared folder.

Uzytkownik "Jochen Buennagel" <za*********@bu ennagel.com> napisal w
wiadomosci news:bu******** *****@news.t-online.com...
The project I'm working on is running on 30 load-balanced dual-xeon
Apaches. (I'm not aware of how the load balancing works.)

Sessions (we have around 2 million visits/day) are stored in MySql on 4
more of the dual-xeons. The custom session handling routine (using the
standard "session_set_sa ve_handler()") decides which of the DB servers
to go to based on a modulo calculated from the session id. I haven't had
a chance to look at the exact algorithm for this, but it seems to
distribute load fairly evenly between the 4 servers, even if a user gets
his pages from all over the 30 apaches.

Hope this helps,

Jochen

Jul 17 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

27
7111
by: mrbog | last post by:
Tell me if my assertion is wrong here: The only way to prevent session hijacking is to NEVER store authentication information (such as name/password) in the session. Well, to never authenticate a user from information you got from the session. Each secure app on a site must challenge the user for name and password, each and every time the user accesses it (not just once and then store it in the session). If a secure app is multi-page,...
3
3578
by: Erik Johnson | last post by:
There are a lot of things about PHP I was not too keen on and hence why my company is primarily doing Python these days, but one thing I was quite impressed with was the ease with which it provided session functionality... <?php session_start(); session_register; $my_var = "whatever";
5
2447
by: Abhilash.k.m | last post by:
This is regarding the session management using Out of proc session management(SQL SERVER). Among the samples below which one is better to set the session? 1. There are 20 session variables and all of them are being stored into session and accessed from session and individual session object. Example: Session = "XYZ", Session=100, Session="NAME", etc.
2
2171
by: John A Grandy | last post by:
for high traffic public websites , what are the proven options for session-state storage & management ? is an out-of-process state-server generally preferred over a sql-server ? what are the relevant criteria ? is the primary criteria max expected total storage size (for all active sessions) versus max ram available on the state-server machine ? if ADO.NET objects (such as small DataTables) must be stored in session-state , is any...
13
2437
by: James Hunter Ross | last post by:
We love the ASP.NET "Session" concept and make good use of it. But, getting close to deployment we find we lose sessions far too often, probably due to application restarts, etc. We hope to eliminate these restarts, but we're not sure that can be achieved. (We are exploring who/what might be touching web.config or assemblies or other files in our application, but have found nothing so far.) We have some serious rewriting to do if all...
18
3432
by: BillE | last post by:
When a user opens a new IE browser window using File-New-Window the integrity of an application which relies on session state is COMPLETELY undermined. Anyone who overlooks the fact that File-New-Window creates an instance of IE in the same process with the same SessionID as the parent window is in big trouble. This fundamentally restricts the usefullness of using session state management. I probably missed it somewhere - can...
5
2468
by: rug | last post by:
Hello, I want to use a MySQL Heap table (server load isn't an issue) for session management considering that I use a shared server and don't want anyone who has access to /tmp to be able to read session data and possibly hijack a session. I've got no clue how to use a table for session management. I've started off by creating a table that will store the following: Session ID (will create this using dechex with a random number)...
2
4415
by: =?Utf-8?B?YW5vb3A=?= | last post by:
Hello, I am developing a Simple ASP Application with a Login page. I want to know how session ID can be generated after User has authenticated instead of generation along with the Login page request. Also Session ID must be unique each time the user logs in. This is required so that Session Hijacking and Session Fixation could be prevented. Should I have to use other process instead of General ASP Session Management. Please Help Thank...
5
2630
by: knyghtfyre | last post by:
Hello, My company is developing a rather large application with .NET 2.0. We are expanding to a server farm and are in the process of converting our application to use an out-of-process session state management with SQL Server. We have ran into a problem with the Session_onEnd event. We know it's not supposed to fire when in an out-of-process mode, but we have a large amount of code that must be executed to clean the session and to
0
8370
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8590
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7302
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5620
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4147
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4291
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2707
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1914
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1591
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.