I have canon 400D. my photos (jpgs) are usually from about 3.5 MB to 6 MB (3888 x 2592 in pixels). How can I resize them to get good 10cmx15cm photos & faster upload?
JPEG Quality of 9 ~ 10 out of 12 (or 70 ~ 84 out of 100) is pretty indistinguishable from uncompressed. See this article for an in-depth comparison. In short, if you have less color gradients, you can get away with higher compression (lower quality values).
For PPI (what you care about), in general, 240 to 360 PPI is high quality. This depends on typical viewing distances and your audience. For example, with posters where people won't be walking up to and scrutinizing, you can get away with lower PPI because the viewing distance is further.
Ideally, you should find out what the printer's native PPI (not DPI) is and use a quality program and algorithm to resize (including upscaling) to that resolution, as opposed to letting their software or printer do the resizing.
To calculate the number of pixels, simply take your desired physical output size, convert to inches if necessary, and multiply by the PPI:
10 cm by 15 cm
x 1 inch / 2.54 cm
x 250 pixels / inch
= 985 pixels by 1477 pixels
10 in by 15 in
x 250 pixels / inch
= 2500 pixels by 3750 pixels
For printing, i usually scale photos to 300dpi. Since 10cm x 15cm are approximately 4in x 6in, that means scaling to 1200 times 1800 pixels.
If you re-save at JPG quality 10 instead of 12, you'll get smaller files without sacrificing resolution. You may not want to do this as a general rule though.
Depends on your audience. I have printed and sold a lot of 2MP Sony Mavica images printed on matte paper to 8x12 at 180 dpi. Some of the answer is in the paper you print on. Matte and semi matte paper have a tendency to wick the inks, they have less D-Min, but this helps mask the dots. There is also stitching software if you want greater resolution. I use a canon 7D now mostly at 10, sometimes 18mp, but my best selling images (all I sell are monochrome) were taken with a 5MP camera. My clients don't care about dots on the paper, just the feeling of the image.
Note: This answer comes four years after the question, and is mostly supplemental to Eruditass's accepted (and valid) answer.
There has been a significant development in JPEG compression methods that hasn't worked its way yet into the world of image editors, but is available through a stand-alone utility. (I'm not sure whether the algorithm is patent-encumbered, but I am only aware of one implementation. There may be others, but I haven't seen them. This is a hearty endorsement of a single product from a customer's point of view, but that single-product endorsement may be coming from a point of ignorance. Since there is a reasonable free-as-in-beer usage license that may be adequate for many people, I'm not even going to concern myself with the moral implications of "shilling".)
Resize your image to fit the intended print as Eruditass suggested, and perform output sharpening appropriate for that image size and medium. You don't want to leave either of these elements up to the printer driver, whether it's your own printer or a service. Then save as a JPEG at a high quality setting (11-12 in Photoshop; 90% or better in other programs) with only the metadata you actually want in the image (often only the copyright and contact info). That will still leave you with a huge file. Don't worry about that, it'll be fixed in a moment. Run the image through JPEGmini, and it will shrunk down to the smallest it can be while still being visually indistinguishable from the original (a diff of the two reconstituted images reveals very little; your eyes won't see anything at all if you flip back and forth between images, and you can't see the difference in a print). The file size reduction averages around a factor of 3.5-5 (20-28% of the original JPEG file size), and the range I've seen has been between 2.5 and 6 (depending on how compressed the image already is using the standard JPEG compression methods).
JPEGmini can be used in "trial mode" for up to 20 images per day forever, and that may be all you ever need. For anything that could reasonably be called "personal use" (and that includes professional use), it's only $20. (For crunching through huge numbers of images all day, every day, there's a $200 server version. No photographer or small studio really needs to think about it.)
One [insert expletives here] downside, for the Windows version at least, is that it's a .NET framework app that takes the better part of a lifetime to launch. (Minor exaggeration, but when it's the last teeny-tiny little thing you have to do, the launch speed sure seems out of proportion.) And they sell the licences through B&H for some reason, which means that there's a few hours (at least) of fulfillment delay even though all you're buying is a number to copy and paste. So, wait to buy, then wait for launch. Apart from that, though, it does what it says on the tin, and does it (literally) incredibly well.