資源簡介
項目需要將音視頻文件上傳服務(wù)器,考慮并發(fā)要求高,通過七牛來實現(xiàn)。
做了一個簡易的壓力測試,同時上傳多個文件,七牛自己應(yīng)該有隊列處理并發(fā)請求,我無論同時提交多少個文件,七牛是批量一個個排隊處理了。

代碼片段和文件信息
using?Qiniu.IO;
using?Qiniu.IO.Resumable;
using?Qiniu.RPC;
using?Qiniu.RS;
using?System;
using?System.Collections.Generic;
using?System.Linq;
using?System.Text;
using?System.Threading;
using?System.Threading.Tasks;
namespace?qiniuTest
{
????///?
????///?文件上傳有兩種方式:
????///?一種是以普通方式直傳文件,簡稱普通上傳;
????///?另一種方式是斷點續(xù)上傳,斷點續(xù)上傳在網(wǎng)絡(luò)條件很一般的情況下也能有出色的上傳速度,而且對大文件的傳輸非常友好。
????///?
????class?Program
????{
????????static?string?bucket?=?“cvteXXXXX“;
????????static?void?Main(string[]?args)
????????{
????????????Qiniu.Conf.Config.ACCESS_KEY?=?“6QQ7Cnz4bljdkQOWQ5UOAheVCAd0bCa7XXXXX“;
????????????Qiniu.Conf.Config.SECRET_KEY?=?“9rUGnbFtvm-PLWcZeOR6ed9MUjZ4bKitfXXXXX“;
????????????string?fileKey?=?“應(yīng)用系統(tǒng)全貌圖.png“;
????????????//GetFileStat(bucket?fileKey);
????????????//小文件直傳
????????????string?fileName?=?“CVTE信息系統(tǒng)-業(yè)務(wù)功能架構(gòu)圖-IM和企業(yè)微信.jpg“;
????????????PutFile(bucket?Guid.NewGuid().ToString()?+?fileName?“d:\\“?+?fileName);
????????????//在asp.net?mvc中的文件上傳
????????????//ResumablePutFile(bucket?Guid.NewGuid().ToString()?Path.Combine(path?Request.Form[0]));
????????????//大文件上傳
????????????//string?bigFileName?=?“eclipse-java-luna-SR1-win32-x86_64.zip“;
????????????//ResumablePutFile(bucket?Guid.NewGuid().ToString()?+?bigFileName?“d:\\Software\\“?+?bigFileName);
????????????//GetFile(“7xq1c1.com1.z0.glb.clouddn.com“?fileKey);
????????????//**********************??壓力測試??**********************
????????????//?獲取線程池的最大線程數(shù)和維護的最小空閑線程數(shù)
????????????int?maxThreadNum?portThreadNum;
????????????int?minThreadNum;
????????????ThreadPool.GetMaxThreads(out?maxThreadNum?out?portThreadNum);
????????????ThreadPool.GetMinThreads(out?minThreadNum?out?portThreadNum);
????????????Console.WriteLine(“最大線程數(shù):{0}“?maxThreadNum);
????????????Console.WriteLine(“最小空閑線程數(shù):{0}“?minThreadNum);
????????????int?loopNumber?=?1;?//內(nèi)部循環(huán)次數(shù)
????????????int?ConcurrentNumber?=?10;?//并發(fā)數(shù)
????????????for?(int?i?=?0;?i?????????????{
????????????????ThreadPool.QueueUserWorkItem(new?WaitCallback(TaskProc)?loopNumber);
????????????}
????????????Console.ReadLine();
????????}
????????public?static?void?TaskProc(object?loopNumber)
????????{
????????????int?LoopNumber?=?Convert.ToInt32(loopNumber);
????????????Console.WriteLine(“啟動任務(wù),小文件直傳“);
????????????//小文件直傳?壓力測試
????????????for?(int?i?=?0;?i?????????????{
????????????????string?fileName?=?“WinRAR.exe“;
????????????????Console.WriteLine(i?+?“開始“?+?fileName?+?System.DateTime.Now);
????????????????PutFile(bucket?Guid.NewGuid().ToString()?+?fileName?“D:\\“?+?fileName);
????????????????Console.WriteLine(i?+?“完成“?+?fileName?+?System.DateTime.Now);
????????????????string?fileName1?=?“WinRAR1.exe“;
????????????????Console.WriteLine(i?+?“開始“?+?fileName1?+?System.DateTime.Now);
????????????????PutFile(bucket?Guid.NewGuid().ToString()?+?fileName1?“D:\\“?+?fileName1);
????????????????Console.WriteLine(i?+?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????436224??2016-01-13?10:19??bin\Debug\Newtonsoft.Json.dll
?????文件??????46080??2016-01-13?10:19??bin\Debug\Qiniu.4.0.dll
?????文件???????8192??2016-01-14?11:23??bin\Debug\qiniuTest.exe
?????文件????????187??2016-01-13?10:17??bin\Debug\qiniuTest.exe.config
?????文件??????17920??2016-01-14?11:23??bin\Debug\qiniuTest.pdb
?????文件??????22984??2016-01-14?11:26??bin\Debug\qiniuTest.vshost.exe
?????文件????????187??2016-01-13?10:17??bin\Debug\qiniuTest.vshost.exe.config
?????文件????????490??2010-03-17?22:39??bin\Debug\qiniuTest.vshost.exe.manifest
?????文件???????6737??2016-01-13?10:20??obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????486??2016-01-14?11:26??obj\Debug\qiniuTest.csproj.FileListAbsolute.txt
?????文件??????11148??2016-01-13?10:34??obj\Debug\qiniuTest.csprojResolveAssemblyReference.cache
?????文件???????8192??2016-01-14?11:23??obj\Debug\qiniuTest.exe
?????文件??????17920??2016-01-14?11:23??obj\Debug\qiniuTest.pdb
?????文件??????????0??2016-01-13?10:17??obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
?????文件??????????0??2016-01-13?10:17??obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
?????文件??????????0??2016-01-13?10:17??obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
?????文件???????1356??2016-01-13?10:17??Properties\AssemblyInfo.cs
?????文件????????187??2016-01-13?10:17??App.config
?????文件?????436224??2016-01-13?10:19??Newtonsoft.Json.dll
?????文件???????7626??2016-01-14?14:03??Program.cs
?????文件??????46080??2016-01-13?10:19??Qiniu.4.0.dll
?????文件???????3141??2016-01-13?10:34??qiniuTest.csproj
?????目錄??????????0??2016-01-13?10:17??obj\Debug\TempPE
?????目錄??????????0??2016-01-14?10:13??bin\Debug
?????目錄??????????0??2016-01-13?10:19??bin\Release
?????目錄??????????0??2016-01-14?11:23??obj\Debug
?????目錄??????????0??2016-01-13?10:19??bin
?????目錄??????????0??2016-01-13?10:17??obj
?????目錄??????????0??2016-01-13?10:17??Properties
-----------?---------??----------?-----??----
............此處省略2個文件信息
評論
共有 條評論