バックグラウンド処理について質問です。php5.3.8です
今、webアプリで3つのSNSのapiに文章をポストする仕組みを作ってるんですが
フォームの送信ボタンを押した後、apiへのアクセスと投稿部分は時間がかかるため
exec()でバックグラウンド処理させました。が、それでも時間がかかりすぎる気がします
時間の捕捉方法は以下の通りです

$session->starttime = date("Y-m-d H:m:s");
funcImageUpload(~~~);//写真アップロード
funcQuery(~~~);//DBクエリ
exec(~~~);//apiへの投稿
$session->endtime = date("Y-m-d H:m:s");

この状況で処理時間が
○テキストのみ投稿
 ・exec();をコメントアウト:1秒
 ・exec();を実行:3秒
○テキストと写真を投稿
 ・exec();をコメントアウト:3秒
 ・exec();を実行:9秒

いくら3つもapiにアクセスしてるからって3秒とか9秒は時間かかり過ぎじゃないでしょうか?
バックグラウンド処理=一瞬で済むものだと思ってたのですが違うんでしょうか
exec();自体初めて利用した処理なのでおかしい点があるとしてもわかりません
初心者にありがちな穴などあるんでしょうか?
または、高速化する方法を教えてもらえると嬉しいです
すみませんがアドバイスお願いします