473,386 Members | 1,790 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Bandwidth Allocation

Hello

I am developing a server and I want to view and change the the clients
TCP connection bandwidth.
Please help me

Salman Ali

Sep 15 '07 #1
4 2529
On Sep 15, 2:34 am, salman <alisal...@gmail.comwrote:
Hello

I am developing a server and I want to view and change the the clients
TCP connection bandwidth.
Please help me

Salman Ali
Seems the problem is not trivial. I think the issue of IO through
sockets and ports is complex...that's one reason it's hardly ever
covered in most S/W books. I did a quick Google search and found a
lot of Cisco hits...something their s/w engineers work on every day
I'm sure.

Good luck Ali,

RL
Sep 15 '07 #2
That seems like a great feature for your users...

"salman" wrote:
Hello

I am developing a server and I want to view and change the the clients
TCP connection bandwidth.
Please help me

Salman Ali

Sep 15 '07 #3
salman <al*******@gmail.comwrites:
Thanks Peter
I am working on a trading application, and there is 1 MB link on
trading server. Normally at a time 25 to 30 TCP clients are connecting
to server. If more than 30 clients (TCP connection) connect to the
server, then perform is going down.

Trading server sends stock market feeds to clients on request, on
client side there is a timer which sending 'a request for feed' to
server after specific time interval and then server sends the feed to
client.
If by "going down" you mean "using up all the bandwidth", the simplest
solution is on the client side: simply send the requests less often.

From the server side, if the problem is really that more than
1Mbit/sec of data is required by the protocol, there's not much to be
done besides make the protocol more efficient or buying more
bandwidth. If the problem is instead the requests come in bursts,
queueing them and handling them one-at-a-time might help.

Good luck!

----Scott.
Sep 17 '07 #4
My apologies, but for some reason salman's reply didn't make it to my
news server. So I'm going to reply to the reply to his post. :)

Scott Gifford wrote:
salman <al*******@gmail.comwrites:
>Thanks Peter
I am working on a trading application, and there is 1 MB link on
trading server. Normally at a time 25 to 30 TCP clients are connecting
to server. If more than 30 clients (TCP connection) connect to the
server, then perform is going down.
In addition to what Scott already said, I'll ask this: for whom is
performance going down?

If you have some other critical application on the network that is being
affected, then I can see why you'd want to limit the bandwidth of the
(apparently?) non-critical application. As Scott says, given what
you've written so far it sounds like just extending the timer for the
requests would be beneficial.

Perhaps introduce some sort of randomization to the timer so that you
minimize the effects of clients all hitting the network at the same
time, or do as Scott suggests and use some sort of queuing mechanism
that ensures the clients never make the request all at once.

Beyond that, a couple of non-software suggestions:

* If you have a critical application that you want to avoid
interfering with, perhaps the best solution is to ensure that
application is on its own network, separate from the other stuff.

* If you don't have a critical application and it's just
performance of these clients that suffers, then perhaps letting that
happen is truly the simplest solution. After all, limiting bandwidth
artificially is going to cause performance to suffer anyway, but it will
be all the time instead of just when you have a lot of clients present.
It's true that network congestion can make things worse than just
limiting bandwidth, but IMHO you'd have to be getting a lot more clients
than just over the limiting number before that starts to be a really bad
problem.

If you do need to limit bandwidth, I'd go with Scott's suggestion for
something like this. The more general technique of actually monitoring
throughput and using timing to control the throttling of your network
i/o is probably more suited to streaming applications, like file
transfers, media applications, etc. If you have a well-defined
protocol, you can essentially pre-process all the timing work and just
control a specific interval controlling how often the protocol uses the
network.

Pete
Sep 17 '07 #5

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

Similar topics

3
by: lawrence | last post by:
We've a Red Hat Linux box from which I'm serving websites and I need to keep track of how much bandwidth each website uses. Keeping track of bandwidth by directory is easy enough - there is a lot...
6
by: FLEB | last post by:
Is there a way to check my site's bandwidth usage via PHP? I'd like to "gracefully bail" if I start to get near my host's limit. Its running on a shared Linux box, on Apache 1.3.31 and PHP v4.3.3...
0
by: Martin Raychev | last post by:
Hi everybody, I have a need for a web app that will allow a flash client to download files at a specified speed. I am using Flash for an application of mine which downloads JPG slides to...
1
by: Skeleton Man | last post by:
Hi, I have a chat script which I added very basic bandwidth tracking to as follows: ob_start(); print "this is some output!"; print "this is more output!"; $bytes = ob_get_length(); //...
8
by: Dominic Martin | last post by:
Hi, I need to setup an ODBC link over our Internet connection between MS Access (local) and a MySQL server (Remote - the local PC has the MySQL ODBC driver installed). What kind of bandwidth...
9
by: Chibi | last post by:
I'm writing an application that's bandwidth intense. My available bandwidth is 1.5Mbps (cable modem) and I know I can reach around 1.4Mbps, if not more. The application I am writing right now...
3
by: vadim | last post by:
Hi, Does anybody have an idea on how to reply to a client who's asking about how much bandwidth my app will need. It's asp.net app with SQL Server backend. Is there any general rule of thumb on...
3
by: Jack Fox | last post by:
While stress-testing our ASP.NET app, we discovered a flaw in our test set-up, which also reveals a flaw in our ASP.NET configuration that we do not know how to address. We simulated too...
8
by: FrobinRobin | last post by:
Hi, I intend to use Ajax for a kiosk application, it's primary usage is to retrieve live data from my DB, it's a fairly small amount of data (5 fields, of small data size and limited to 15...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
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,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

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.