Tag Info

Hot answers tagged

31

I finally found the setting that was really limiting the number of connections: net.ipv4.netfilter.ip_conntrack_max. This was set to 11,776 and whatever I set it to is the number of requests I can serve in my test before having to wait tcp_fin_timeout seconds for more connections to become available. The conntrack table is what the kernel uses to track the ...


21

70 requests per second works out to an hourly rate of 252,000 page renders / hour. If you assume that the average browsing session for your site is 10 pages deep, then you can support 25,000 uniques / hour. You should probably check these numbers against your expected visitor count, which should be available from the folks on the business side. Many of ...


18

You really want to look at what the /proc filesystem has to offer you in this regard. TCP Tuning Guide at the US Dept. of Energy TCP Tuning parameters for different OS:es IBM's "Administer Linux on the fly" Documentation at LinuxInsight.com vis-a-vis /proc/sys/net/ipv4 On that last page, you might find the following to be of interest to you: ...


16

I don't know if any of them are actually installing hardware one server at a time. Back in 2008 MS started building its data centers by getting servers delivered in sealed and pre-wired shipping containers of servers that they just needed to unload from a truck and plug power/network connections into. While the 08 build was a mix of containers and ...


13

The HP DL700 series of servers support a maximum of 512GB of memory. The DL785 G6 which is being released in September will also support AMD's new 6 core processors. Edit: I made the assumption you wanted x86 architecture here. But, since someone already mentioned Itanium I think I'll throw in a link to SGI Altix. Their Altix 450 "mid-range" server can go ...


13

Before you make a decision based on scalability, you might want to read through these two pages and decide how much you value your sanity: PostgreSQL gotchas MySQL gotchas


12

There are many methods for scaling web applications and the supporting infrastructure. Cal Henderson wrote a good book on the subject called "Building Scalable Web Sites". It was based on his experiences with Flickr. Unless you grow slowly you will run into the same kinds of growth issues many others have seen. Scaling is, like many other subjects, a ...


10

Install iotop, and find which program is doing it.


9

There are a lot of factors that can come into play, so I don't think there are many general guidelines. You should conduct a smaller scale evaluation, perhaps with 1/5th the initial data set to see how things behave when you throw your expected indexing and search load at the setup. This will ensure you understand how much space your data will actually ...


9

John and Cailin's five-step tutorial on scaling Drupal will be very helpful to you. The first two steps are as follows: Step 1: Separate your web server from your database server. Step 2: Set up redundant web servers and load balancing. Bottom line: you are not going to want to scale horizontally (adding multiple servers with identical functions) without ...


9

You're looking for a standard DNS Round Robin setup. You just add multiple A records to your DNS server. There are limitations (see linked document), and to avoid those, you would need an FTP aware proxy or FTP aware load balancer product to sit in front of your FTP servers.


8

"Do you know when to decide between going for more RAM or more servers?" (in the context of scaling data mining applications). The answer is as soon as you give me the metrics for the server in question, I'll tell you which (or if its worthwhile at all to add either). This type of tuning isn't voodoo (unles you are using applications without ...


8

I haven't tested this specific use case but haproxy does support a "hot reload": 2.4.1) Hot reconfiguration -------------------------- The '-st' and '-sf' command line options are used to inform previously running processes that a configuration is being reloaded. They will receive the SIGTTOU signal to ask them to temporarily stop listening to the ports so ...


8

While this question appears to go against the "Avoid asking subjective or argumentative questions" tenet of the site I can't resist trying an answer. It depends. Are talking about a single server configuration that scales to very large datasets? Both can work in this situation depending on the dataset, but neither will probably perform very well without ...


8

The Compatibility tab is hidden for system files, so to replicate the functionality of the "Disable display scaling on high DPI settings" checkbox you would add the following to the registry: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers] "C:\\Windows\\System32\\mmc.exe"="~ ...


7

Its a very common way of doing it. It makes sense in number of ways All databases are on the same server so backup is easier You can have a secure, back-end database server, not connected to the internet directly and only accessible by the the web servers You can specify your database server so that it is big enough to handle your data processing, whilst ...


7

What Eric takes the long way to point you towards but doesn't actually state is that you need to authorize the source as the amazon-elb/amazon-elb-sg. If you're doing this through the AWS Management Console it will actually auto-complete when you start typing it into the source field. I operate several ELB configurations and they all allow access to 80/TCP ...


7

Google has several technologies which they developed internally to store these huge masses of data. Using these technologies they can actually add truck loads of hard disks into their cluster without any downtime, but yes, they do still need people doing that. As far as I know from the Google Blog the two main parts are the Google File System, which is a ...


6

You can change the instance size, but if you have a 32bit instance you can't scale it to a 64bit (if my memory serves me right). And you can always create some other instances and load balance between them. In general, the latter is the preferred method since scaling with your instance type only helps you so much. After that your only option is adding ...


6

Develop it on EC2. If/when you want to move it in-house, set up your own Eucalyptus cluster and move it to there, which will be easy since Eucalyptus is an open source EC2 infrastructure clone.


6

You're abusing Nginx's worker_threads. There is absolutely no need to run that many workers. You should run as many workers as you have CPUs and call it a day. If you're running gunicorn on the same server, you should probably limit nginx workers to two. Otherwise, you're just going to thrash the CPUs with all the context switching required to manage all of ...


6

Before I moved to the CDN I had a web farm of about 20 servers. I started with NFS until I hit a bug in the linux kernel about 3 years back that caused an issue with not mounting the volume and it wasn't failing over correctly. I then created an rsync script that would sync the dir's every 5 minutes to each image server. This wasn't ideal but it worked ...


5

First let me prefix my answer with the fact that I am heavily biased towards PostgreSQL. I use both PostgreSQL and MySQL very heavily on fairly large site. I, from time to time, have problems with MySQL falling over performance wise. When this happens, I usually restart it and things go back to normal. It's also worth noting that we run PostgreSQL on ...


5

There are some pretty decent threads on this at stack overflow: http://stackoverflow.com/questions/110927/do-you-recommend-postgresql-over-mysql http://stackoverflow.com/questions/216601/postgressql-mysql-oracle-diferences http://stackoverflow.com/search?q=postgres+mysql That gotchas site is also great :)


5

You can have 1,000 concurrent requests per second, depending on what is being requested. If it's an image file, it's easy to serve it quickly without huge resources, but if you are looking at 1,000 concurrent requests to a PHP script connecting to a MySQL backend, then we're going to have to start talking about a RAID setup, lots of RAM, seperate web and db ...


5

This is a very common configuration often called "DMZ in a box". Here's a VMware whitepaper that discusses the various levels of collapsing DMZs using virtual infrastructure. VMware's vSphere builds on some of these ideas and extends them with a product called vShield Zones


5

There is generally quite a bit of voodoo (or at least trial and error) in server/application performance improvement. The general rule for the specific question asked is to first increase the memory until it can't be increased any more OR until more memory no longer improves performance. With memory relatively cheap, it may be more straight-forward to ...


5

As an enterprise architect I've dealt with this issue on an almost daily basis. Vertical or horizontal scaling? What are your needs? Do you need to support more users? Do you need to improve the speed of the service? Do you need both? Do you need high availability 99.9999 or can your users take downtime? To begin you need to capture performance metrics on ...


5

As you noted, this is a very broad estimate. The big question is what you use that $1000 to buy. Provided that you spring for a bit more memory and less processor power with an average hard disk, I would say that a reasonably coded application (where reasonable = mainly using whatever abstracting libraries your language provides) with those parameters ...



Only top voted, non community-wiki answers of a minimum length are eligible