• 大小: 368KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: C#
  • 标签: 七牛  云存储  

资源简介

项目需要将音视频文件上传服务器,考虑并发要求高,通过七牛来实现。 做了一个简易的压力测试,同时上传多个文件,七牛自己应该有队列处理并发请求,我无论同时提交多少个文件,七牛是批量一个个排队处理了。

资源截图

代码片段和文件信息

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
{
    /// 
    /// 文件上传有两种方式:
    /// 一种是以普通方式直传文件,简称普通上传;
    /// 另一种方式是断点续上传,断点续上传在网络条件很一般的情况下也能有出色的上传速度,而且对大文件的传输非常友好。
    /// 

    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 = “应用系统全貌图.png“;
            //GetFileStat(bucket fileKey);

            //小文件直传
            string fileName = “CVTE信息系统-业务功能架构图-IM和企业微信.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);

            //**********************  压力测试  **********************
            // 获取线程池的最大线程数和维护的最小空闲线程数

            int maxThreadNum portThreadNum;

            int minThreadNum;

            ThreadPool.GetMaxThreads(out maxThreadNum out portThreadNum);

            ThreadPool.GetMinThreads(out minThreadNum out portThreadNum);

            Console.WriteLine(“最大线程数:{0}“ maxThreadNum);

            Console.WriteLine(“最小空闲线程数:{0}“ minThreadNum);
            int loopNumber = 1; //内部循环次数
            int ConcurrentNumber = 10; //并发数

            for (int i = 0; i < ConcurrentNumber; i++)
            {
                ThreadPool.QueueUserWorkItem(new WaitCallback(TaskProc) loopNumber);
            }

            Console.ReadLine();
        }

        public static void TaskProc(object loopNumber)
        {
            int LoopNumber = Convert.ToInt32(loopNumber);
            Console.WriteLine(“启动任务,小文件直传“);
            //小文件直传 压力测试
            for (int i = 0; i < LoopNumber; 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个文件信息

评论

共有 条评论