diff options
Diffstat (limited to 'pipermail/nel/2001-March/000315.html')
-rw-r--r-- | pipermail/nel/2001-March/000315.html | 174 |
1 files changed, 174 insertions, 0 deletions
diff --git a/pipermail/nel/2001-March/000315.html b/pipermail/nel/2001-March/000315.html new file mode 100644 index 00000000..fdb24fb0 --- /dev/null +++ b/pipermail/nel/2001-March/000315.html @@ -0,0 +1,174 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Nel] Network Connections</TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:thomas.wright1%40ntlworld.com"> + <LINK REL="Previous" HREF="000326.html"> + <LINK REL="Next" HREF="000317.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Nel] Network Connections</H1> + <B>Tom wright</B> + <A HREF="mailto:thomas.wright1%40ntlworld.com" + TITLE="[Nel] Network Connections">thomas.wright1@ntlworld.com</A><BR> + <I>Thu, 1 Mar 2001 08:48:29 -0000</I> + <P><UL> + <LI> Previous message: <A HREF="000326.html">[Nel] Compile error</A></li> + <LI> Next message: <A HREF="000317.html">[Nel] Network Connections</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#315">[ date ]</a> + <a href="thread.html#315">[ thread ]</a> + <a href="subject.html#315">[ subject ]</a> + <a href="author.html#315">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>This is a multi-part message in MIME format. + +------=_NextPart_000_000B_01C0A22C.632195A0 +Content-Type: text/plain; + charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + +Guys/Gals, + +Having followed your arguements so far, i though i would chuck in my 2 p = +worth. + +1) i think you are going to find it very difficult to scale a server to = +5000 concurrent users, using any kind of scheme unless its a BIG server. = + Look at EQ currently, they struggle with 2000. But this is just my = +opinion :-) so feel free to ignore it. + +2) On windows NT/2k, using async sockets with events is a very efficent = +way of handling socket comms, and its quite easy to demultiplex the = +events to work out which socket caused the event. I would recommend = +this route, as one thread could then wait for events to be generated on = +say 30 sockets and then take appropriate action. unfortunately i can = +not tell you how well this is going to scale :-( Just look up WSAEvents = +for READ, SEND and CLOSE. It does make your sending more entertaining = +however :-) + +3) Windows did support something called micro threads, which had a much = +lower over head than traditional threads. These ( if i remember = +correctly ) were designed specifically for scalable IO ( as in IIS ). = +Some time looking here may well yield some useful results. + +4) Some OS's have limits to the size of the array to select, Windows is = +one of them, typical values seem to be 64. However using values this = +large, you are going to spend time thrashing the array looking for the = +source of the select, with events this is much easier and quicker, tho = +not linux compatible. Wrapping up the comms like this specific to each = +platform is not going to be to hard, just code to a common interface. + +Regards + +Tom + +PS A binary of the next release for windows would be nice, takes HOURS = +to build :-) + + + +------=_NextPart_000_000B_01C0A22C.632195A0 +Content-Type: text/html; + charset="iso-8859-1" +Content-Transfer-Encoding: quoted-printable + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<HTML><HEAD> +<META content=3D"text/html; charset=3Diso-8859-1" = +http-equiv=3DContent-Type> +<META content=3D"MSHTML 5.00.3103.1000" name=3DGENERATOR> +<STYLE></STYLE> +</HEAD> +<BODY bgColor=3D#ffffff> +<DIV><FONT face=3DArial size=3D2>Guys/Gals,</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>Having followed your arguements so far, = +i though i=20 +would chuck in my 2 p worth.</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>1) i think you are going to find it = +very difficult=20 +to scale a server to 5000 concurrent users, using any kind of scheme = +unless its=20 +a BIG server.&nbsp; Look at EQ currently, they struggle with 2000.&nbsp; = +But=20 +this is just my opinion :-) so feel free to ignore it.</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>2) On windows NT/2k, using async = +sockets with=20 +events is a very efficent way of handling socket comms, and its quite = +easy to=20 +demultiplex the events to work out which socket caused the event.&nbsp; = +I would=20 +recommend this route, as one thread could then wait for events to be = +generated=20 +on say 30 sockets and then take appropriate action.&nbsp; unfortunately = +i can=20 +not tell you how&nbsp;well this is going to scale :-( Just look up = +WSAEvents for=20 +READ, SEND and CLOSE.&nbsp; It does make your sending more entertaining = +however=20 +:<i>-)</FONT></DIV> +</I><DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>3) Windows did support something called = +micro=20 +threads, which had a much lower over head than traditional = +threads.&nbsp; These=20 +( if i remember correctly ) were designed specifically for scalable IO ( = +as in=20 +IIS ).&nbsp; Some time looking here may well yield some useful=20 +results.</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>4) Some OS's have limits to the size of = +the array=20 +to select, Windows is one of them, typical values seem to be 64.&nbsp; = +However=20 +using values this large, you are going to spend time thrashing the array = +looking=20 +for the source of the select, with events this is much easier and = +quicker, tho=20 +not linux compatible.&nbsp; Wrapping up the comms like this specific to = +each=20 +platform is not going to be to hard, just code to a common=20 +interface.</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>Regards</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>Tom</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV><FONT face=3DArial size=3D2>PS A binary of the next release for = +windows would=20 +be nice, takes HOURS to build :-)</FONT></DIV> +<DIV>&nbsp;</DIV> +<DIV>&nbsp;</DIV></BODY></HTML> + +------=_NextPart_000_000B_01C0A22C.632195A0-- + + +</pre> + + + + + + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI> Previous message: <A HREF="000326.html">[Nel] Compile error</A></li> + <LI> Next message: <A HREF="000317.html">[Nel] Network Connections</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#315">[ date ]</a> + <a href="thread.html#315">[ thread ]</a> + <a href="subject.html#315">[ subject ]</a> + <a href="author.html#315">[ author ]</a> + </LI> + </UL> +</body></html> |