MySQL Lists are EOL. Please join:

List:Database Benchmarks« Previous MessageNext Message »
From:Donald Foss Date:March 28 2006 6:05pm
Subject:RE: Chat application and performance
View as plain text  
Very good information Kishore.  However, if Charles is developing this
as a web app, then he should be able to use a connection pool.  As long
as the queries are returning relatively quickly, say a maximum of .1
second average, he could support 1,000 concurrent users with 50 database
connections.  As long as the db query time remains constant or does not
exceed .1 second response time, the ratio will remain constant and the
application will scale linearly.

Donald E. Foss
Manager, SLM Testing Services
Keynote Systems


-----Original Message-----
From: Kishore Jalleda [mailto:kjalleda@stripped] 
Sent: Tuesday, March 28, 2006 12:54 PM
To: Charles A. Landemaine
Cc: benchmarks@stripped
Subject: Re: Chat application and performance

This is roughly the formula for calculating the minimum memory needed by
mysql

min_memory_needed = global_buffers + (thread_buffers * max_connections)

where thread_buffers includes the following:

sort_buffer

myisam_sort_buffer

read_buffer

join_buffer

read_rnd_buffer

and global_buffers includes:

key_buffer

innodb_buffer_pool

innodb_log_buffer

innodb_additional_mem_pool

net_buffer

So assuming your total database size is not that huge and if your global
buffers include say 100MB (mainly Key buffer Size which is the total of
*.MYI files in your data directory) , and each of your threaded buffers
are
say 512KB, then according to the equation

1000MB = 100MB + ((512KB * 4) * max_connections)

which gives you
max_connections = 900MB/2MB ~= 500 concurrent connections ...

but this is just an approximation and you can easily calculate the
actual
values depending on your specific requirements .....

Hope this serves as a good starting point .....

Kishore Jalleda


On 3/28/06, Charles A. Landemaine <landemaine@stripped> wrote:
>
> Hello,
>
> I am designing a model for a call center 100% web-based. I don't know
> whether using MySQL of other DB systems, and also I'd like to know, at
> least to have a rough idea how my hardware will behave in front of a
> number of simultaneous connections.
>
> There will be a database dedicated to registering new messages for
> attendants and customers on the call center. This database will
> basically have a few rows (depending on the number of customers
> connected), and it will have pretty much 2 columns: one for the
> customer ID (session), and another column with a flag to tell if there
> is a new message or not.
>
> Each 2 second, each customer who has the chat window open will make a
> query to this light-weight database to see if there are new messages.
> Each attendant also does the same queries each 2 second.
>
> I'd like to have a rough idea how many simultaneous people can use
> this application on a server with an Intel Celeron 2.4 Ghz + 1GB RAM
> running FreeBSD.
> If you have any other opinion, please let me know.
>
> Thanks,
>
> --
> Charles A. Landemaine.
>
> --
> MySQL Server Benchmarks Mailing List
> For list archives: http://lists.mysql.com/benchmarks
> To unsubscribe:
> http://lists.mysql.com/benchmarks?unsub=1
>
>
Thread
Chat application and performanceCharles A. Landemaine28 Mar
  • Re: Chat application and performanceKishore Jalleda28 Mar
    • Re: Chat application and performanceCharles A. Landemaine28 Mar
RE: Chat application and performanceDonald Foss28 Mar