How do you handle index fragmentation? Should it handled at all?
Normally if you insert in PK order, the index won't fragment too much and page splits inside of innodb is pretty well spread (leaving the 1/16th empty space in a page)
What about inserting on secondary key order? This can sometimes cause "weird" growth in innodb pages
Percona (and MySQL 5.6) has the innodb_index_stats and fast index creation abilities which helps keeping this under control
InnoDB has some interesting semantics around its page management. It will make decisions to split and/or merge pages
Facebook has dedicated some engineering resources into the page merging work
In InnoDB, pages are typically split into 2 even halves when a page fills up. Merges are done typically when 2 adjacent pages are less then half full and can be merged to a more full page
How does the performance of MySQL change when a page size is 4k vs. 16k?
The 15/16 fill rule is obviously very different base on page size
Fragmentation can also happen inside of secondary indexes. With "fast index creation", keys may not be inserted in order and could consume more disk space
Insert data in batch and then applying indexes afterwards will give you better index
backlog (and TCP backlog on your linux server) -- this is something you may want to tune if you have a high volume of connections coming into the server
failing to increase the backlog will cause clients to hit timeout errors or see slow connections
net_buffer_length -- If you're normally doing large queries or result sets (e.g. multi insert queries) this can help mysql pre-allocate more memory to send down the network pipe
Most web shops typically won't need to tune this, but it may help based on your workload (e.g. a data warehous)!