aspx页面打开缓慢一直白页,说明在进行排队,系统处理不来。
打开perfmon: asp.net 4.0 的Requests Current, Requests Queued. Requests Queued果然有几百个在等着。
解决方法:在排除程序问题后,
应用程序池-高级设置:最大进程模型开大,直到Requests Queued降下来。
IIS处理并发请求设置
分类: WEB 服务器
iisreset提示访问被拒绝,必须是该远程计算机的管理员才能使用此命令
问题:iisreset提示访问被拒绝,必须是该远程计算机的管理员才能使用此命令
原因:cmd.exe权限不是administrator引起
临时解决:右键cmd.exe 以管理员运行,执行iisreset解决
永远解决:建立cmd.exe的快捷方式或者开始里的cmd,右键-属性-快捷方式-高级-以管理员身份运行。
或者建立windowssystem32iisreset.exe的快捷方式
将快捷方式放到lanuch中,随时调用。
执行远程服务器命令PsExec
一、下载PsExec
二、命令如下:
三、在下载的文件中还有其它命令,作用有:
EXCEL连接SQLServer打开文件刷新
远程桌面无法使用剪贴板共享
1:打开任务管理器
2:找到结束进程rdpclip,找不到可以直接跳到下一步。
3:点击 开始→运行,在“打开”框中输入rdpclip,运行。
系统显示am,pm时间,而不是24小时进制的问题
做的系统以12小时制显示时间,改为24小时的方法是在IIS的.net全球化中,修改区域性为简体中文。
导入IIS log入SQLSERVER
1. Download the Log Parser tool from Microsoft here. I know, it’s old but works great.
2. Dump your IIS log files somewhere (ie: c:\temp\logs).
3. Run this in cmd:
C:\Program Files (x86)\Log Parser 2.2>logparser “SELECT * INTO iisLogs FROM c:\temp\logs\*.log ” -i:iisw3c -o:SQL -server:localhost -database:webLogs -username:sa -password:yourpass -createTable: ON
if you’re on 32bit, run Log Parser will be in this folder:
C:\Program Files\Log Parser 2.2>logparser “SELECT * INTO iisLogs FROM c:\temp\logs\*.log ” -i:iisw3c -o:SQL -server:localhost -database:webLogs -username:sa -password:yourpass -createTable: ON
来自:
http://chrisbitting.com/2012/04/12/importing-iis-logs-into-a-sql-database-table/
下载:log parser:http://www.microsoft.com/en-us/download/confirmation.aspx?id=24659
winrar制作升级包
@echo off
::set fdir=%WINDIR%\Microsoft.NET\Framework64
::if not exist %fdir% (
:: set fdir=%WINDIR%\Microsoft.NET\Framework
::)
::set msbuild=%fdir%\v4.0.30319\msbuild.exe
::%msbuild% website.publishproj /p:DeployOnBuild=true /p:PublishProfile=.\App_Data\PublishProfiles\发布.pubxml /p:VisualStudioVersion=11.0 /p:OutputPath=D:\deploy
::复制
ROBOCOPY M:\Luke\LengKu\Web N:\deploy\ccms\ccms /XO /MIR /XF web.config ConnMapping.xml release.bat website.publishproj JavaField.xml /XD Files ewebeditor extjs ExtLib icon images JScript Resources
::压缩并添加解压的文件路径,这样copy上去后直接点解压即可
del N:\deploy\ccms.exe
cd /d N:\deploy\ccms
“C:\Program Files\WinRAR\rar.exe” a -k -r -s -sfx -z”N:\deploy\DeployTools\winrarPath.ini” N:\deploy\ccms.exe ccms DB
::start N:\deploy
::打开teamview准备上传
“C:\Program Files (x86)\TeamViewer\Version9\teamviewer.exe” -i aa –Password bbbb -m fileTransfer
winrarPath.ini文件:
Path=E:\IISROOT\
Overwrite=1
cmd下用curl 向 https post json数据
1,下载包含ssl的curl: 地址:http://www.confusedbycode.com/curl/
2,json数据注意两点:1)用3个引号替换1个引号(因为cmd为自动去掉引号) 2)项与数据之间不要有空格
格式:
curl -X POST https://enjoyasp.net -d {“””api_key”””:”””4c38d5a2d564d52a1390d2e9fce88ea1″””,”””data”””:{“””item”””:[{“””text”””:”””This is a new message”””,”””type”””:0}]}} -H “Content-Type:application/json” -k
3,curl使用方法:http://www.ruanyifeng.com/blog/2011/09/curl.html
teamcity自动生成与部署 持续化集成
Powersheel批量替换指定目录下文件中的指定字符串
遇到一个需求,替换某目录下每个文件中指定的多个字符串,用powershell解决
$fileList = Get-ChildItem 'N:\ps\ClassLibrary\' -recurse *.cs | %{$_.FullName} Foreach($file in $fileList) { (Get-Content $file) | Foreach-Object { $_ -replace 'bdOrderinfo_save','Orderinfo_save'-replace bdOrderinfo_sel','Orderinfo_sel' } | Out-File $file }
linux软件为什么需要编译安装
linux下软件是开源的,若要自己自定义改些东西,就需要编译,否则copy即可。
服务器CPU事实已经被Intel垄断了,就那么几种型号,编来编去生成的机器码是一样的。Intel宣传自己的编译工具Intel C++ Compiler 比GCC编译出来性能要提升10%-20%,这就是一广告,生产环境很少用人用它,何况它还要收费
性能真不是问题,比如 strip 命令可以大大减小可执行文件的size,但是我装过几千遍软件,都没有见有人在安装脚本里面使用。
软件需要编译安装的真实理由有如下3点:
-
软件在编译期间需要配置,比如说nginx,需要在编译的时候指定包含哪些module,php,apache 也是一样。
同样的是数据库,mysql 通过编译安装,因为要定制存储引擎(是否支持innodb .. ),而sqlite却绝少有人编译,都是直接下载二进制文件来用。
- 软件需要统一安装路径,每个team都会自己的安装目录约定,有些喜欢装在 /opt/下面,有些喜欢装在 /usr/local/ ,编译安装可以方便的指定这些路径(configure –prefix=xxx )
- 需要最新的版本,软件仓库的版本一般都比较低,这个理由其实不充分,生产环境倾向保守,不追求最新版本,但是对于geek来说,这可能是最重要的原因
弄明白原因之后,就很容易判断编译还是下载:
- nginx/apache/php/mysql 编译安装
- python/ruby/java 直接下载
IOMeter测试磁盘性能
(注意:如果操作完成的非常快,磁盘实际看到的队列深度可能更少,默认值是1)举个例子:假设选中了一个Manager,选中8个Disk,指定# of Outstanding I/O of =16,磁盘被分布到咯咯worker(每个worker分到2个disk),每个worker对其下的每一个disk生成最大16个未处理I/O,那么整个系统中该Manager每次将生成最多128个未处理I/O(4 worker * 2disk/worker * 16未处理I/O/disk)。
4)average i/o response time:平均延迟时间
随机读8K测试结果 | |
机器 | IOPS每秒 |
我的电脑 | 100 |
183硬盘 | 1000 |
192硬盘阵列 | 2000 |
183fushion卡 | 100000 |
windows复制
Windows Vista、Windows 7以及Windows Server 2008提供了强大的复制功能,可以进行数据复制与同步
同步文件夹:每次只复制新更改的,让源与目录保持一致
ROBOCOPY E:\TeamCity\buildAgent\work\BatchFiles\BUBRM.Web J:\robot /XO /MIR
/XO: 排除较旧的文件,已同步的文件不再同步
/MIR: 镜像目录树,让源与目录保持一致,如源删除了则目录也要删除。
在robocopy命令后加上"/save:任务名",可以将当前操作保存为任务文件,通过使用"/job:任务名"就可以方便的进行调用
网站连接数查看
一、运行–>输入“perfmon.msc”
二、在“系统监视器”图表区域里点击右键,然后点“添加计数器”
三、在“添加计数器”窗口,“性能对象”选择Web Service,“从列表选择计数器”选中Current Connection,“从列表选择实例”选中你要统计的站点,最后点击“添加”按钮
映射持久网络驱动器
HTTP 错误401.1 – 未经授权:访问由于凭据无效
1、错误号401.1
症状:HTTP 错误 401.1 – 未经授权:访问由于凭据无效被拒绝。
分析:
由于用户匿名访问使用的账号(默认是IUSR_机器名)被禁用,或者没有权限访问计算机,将造成用户无法访问。
解决方案:
(1)查看IIS管理器中站点安全设置的匿名帐户是否被禁用,如果是,请尝试用以下办法启用:
控制面板->管理工具->计算机管理->本地用户和组,将IUSR_机器名账号启用。如果还没有解决,请继续下一步。
(2)查看本地安全策略中,IIS管理器中站点的默认匿名访问帐号或者其所属的组是否有通过网络访问服务器的权限,如果没有尝试用以下步骤赋予权限:
开始->程序->管理工具->本地安全策略(secpol.msc)->安全策略->本地策略->用户权限分配,双击“从网络访问此计算机”,添加IIS默认用户或者其所属的组。
注意:一般自定义 IIS默认匿名访问帐号都属于组,为了安全,没有特殊需要,请遵循此规则。 2、错误号401.2
症状:HTTP 错误 401.2 – 未经授权:访问由于服务器配置被拒绝。
原因:关闭了匿名身份验证
解决方案:
运行inetmgr,打开站点属性->目录安全性->身份验证和访问控制->选中“启用匿名访问”,输入用户名,或者点击“浏览”选择合法的用户,并两次输入密码后确定。
错误号:401.3
症状:HTTP 错误 401.3 – 未经授权:访问由于 ACL 对所请求资源的设置被拒绝。
原因:IIS匿名用户一般属于Guests组,而我们一般把存放网站的硬盘的权限只分配给administrators组,这时候按照继承原则,网站文件夹也只有administrators组的成员才能访问,导致IIS匿名用户访问该文件的NTFS权限不足,从而导致页面无法访问。
解决方案:
给IIS匿名用户访问网站文件夹的权限,方法:进入该文件夹的安全选项,添加IIS匿名用户,并赋予相应权限,一般是读、写。
反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受外部的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给外部的请求连接的客户端,此时代理服务器对外就表现为一个服务器。
反向代理服务器位于本地WEB服务器和外部网络之间,如下图所示:
当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB 服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网 页和图片等),而一些CGI脚本程序或者ASP.NET/JSP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标 记:
- Last-Modified: 告诉反向代理页面什么时间被修改
- Expires: 告诉反向代理页面什么时间应该从缓冲区中删除
- Cache-Control: 告诉反向代理页面是否应该被缓冲
- Pragma: 告诉反向代理页面是否应该被缓冲.
Application Request Routing(ARR)是一个基于代理的路由模块,可以根据HTTP头、服务器变量和负载均衡算法将HTTP请求转发到内容服务器上。它可以增强应用程序的效率和可扩展性,更好地利用内容服务器资源,并能够简化应用程序的部署,包括pilot management和A/B测试。ARR还有一种特性叫做shared hoster,用于修改如何共享目前提供的共享主机,为客户增加额外的服务。IIS 7.0 的应用请求路由模块(Application Request Routing (ARR) module),我们可以轻松实现反向代理.如何使用可参看下列几篇文章:
如何利用 IIS7 的 ARR 模??做 Reverse Proxy ?制
在IIS7中应用Application Request Routing配置反向代理
web developer tips (36):使用IIS7.0 应用请求路由模块管理网站的beta版程序
用 IIS 7、ARR ? Velocity 建设高性能的大型网站
IIS 6可以使用google code上一个项目:A C# reverse proxy for IIS
引自:http://www.cnblogs.com/shanyou/archive/2009/11/15/1603245.html
server服务启动不了 错误5:拒绝被访问
解决方法:
a. 运行MSCONFIG
b. 在常规下选择 选择性启动
c. 然后清除Process System.ini File, Process Win.ini File和Load Startup Items 的复选框,但是保留使用原始Boot.ini。
d. 在服务下,先点隐藏所有windows 服务,然后选择 disable all.
e. 然后重新启动。观察问题是否依旧发生。
远程连接保持不断开注销
开始–>运行–>gpedit.msc
计算机配置->管理模板->Windows组件->终端服务->会话
把"为断开的会话设置时间限制"改为"未被配置"。
如果通过上面的操作,还会出现远程桌面连接断开过段时间之后,运行的软件自动关闭的话,就再进行以下操作:
开始–>运行–>tscc.msc
连接–>RDP-Tcp右键属性–>会话
把这里面的替代用户设置的设置都改为从不,并且把从不勾选。
需要说明的是:前述工作做完后,本人的远程服务器还是问题依旧,接下来:
取消开机按ctl+alt+del,这一点大家都会吧。
开始–>所有程序–>管理工具–>本地安全策略–>本地策略–>安全选项:microsoft网络服务器:当登录时间用完后自动注销用户,改为“已禁用”。microsoft网络服务器:在挂起会话之前所需的空闲时间,改为99999,实际上是禁止了此策略。
最后,如果可能,到服务器上用administrator登录一次。
还有,最关键的一步:当您登录远程服务器后,在退出的过程中,不要直接点击远程桌面程序的那个“×”,也不能点注销了。而是在远程服务器的桌面上,点“开始--关机--断开”,这一点十分重要。
Windows Server2003默认情况下允许远程终端连接的数量是2个用户,我们可以根据需要适当增加远程连接同时在线的用户数。
单击“开始→运行”,输入“gpedit.msc”打开组策略编辑器窗口,依次定位到“计算机配置(computerconfiguration)→管理模板(administrative templates)→Windows 组件(windowscomponents)→终端服务(terminal services)”,再双击右侧的“限制连接数量(limit number ofconnections)”,再双击打开配置窗口(limit number of connectionsproperties),选择enabled 将其TS maximum connections allowed