最近因為專案的需求又需要研究Ookla的speedtest軟體,希望測速能夠達到840Mbps。
目前只有670Mbps左右,實在是有很大的差距。
當初想說一張NIC的GE Port不夠力所以binding兩張NIC並設定Mode為0,但是發現測試Cable modem的速度,downstream卻只有130Mbps左右,真是慘不忍睹。
但是測速同一個網段的Server且用不同的測速主機驗證又速度一致,因此目前還找不出原因。
目前只知道binding與Cable Modem測速有相當的關係。
2015年6月17日 星期三
2015年5月7日 星期四
Java SNMP Package API Used
Java SNMP Package API 是一個相當容易上手的API。
但作者開發到1.4.2就沒有再往下開發了,我發現了它的timeout機制似乎部會work
如果有興趣的人可以參考作者網站:http://jsevy.com/snmp/
我所使用的API Sample
import java.io.IOException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.logging.Level;
import java.util.logging.Logger;
import snmp.SNMPBadValueException;
import snmp.SNMPGetException;
import snmp.SNMPObject;
import snmp.SNMPObjectIdentifier;
import snmp.SNMPOctetString;
import snmp.SNMPSequence;
import snmp.SNMPVarBindList;
import snmp.SNMPv1CommunicationInterface;
/**
*
* @author Derek.Li
*/
public class SnmpGet {
public static void println(int level, String context) {
if (level > 0) {
return;
}
System.out.println(context);
}
// public final String itemID = "1.3.6.1.2.1.1.1.0";
public String snmpGet(String IP, String community, String OID) {
try {
InetAddress hostAddress = InetAddress.getByName(IP);
int version = 0; //設定0的時候為使用snmpv1
SNMPv1CommunicationInterface comInterface = new SNMPv1CommunicationInterface(version, hostAddress, community);
comInterface.setSocketTimeout(5000); //ms = 1/1000 s
// the getMIBEntry method of the communications interface returns an SNMPVarBindList
// object; this is essentially a Vector of SNMP (OID,value) pairs. In this case, the
// returned Vector has just one pair inside it.
SNMPVarBindList newVars = comInterface.getMIBEntry(OID);
// extract the (OID,value) pair from the SNMPVarBindList; the pair is just a two-element
// SNMPSequence
SNMPSequence pair = (SNMPSequence) (newVars.getSNMPObjectAt(0));
// extract the object identifier from the pair; it's the first element in the sequence
SNMPObjectIdentifier snmpOID = (SNMPObjectIdentifier) pair.getSNMPObjectAt(0);
// extract the corresponding value from the pair; it's the second element in the sequence
SNMPObject snmpValue = pair.getSNMPObjectAt(1);
// print out the String representation of the retrieved value
String result = snmpValue.toString();
if(OID.equals("1.3.6.1.2.1.2.2.1.6.2"))
return ((SNMPOctetString)snmpValue).toHexString();
return result;
} catch (Exception e) {
String result = null;
return result;
}
}
}
2015年4月6日 星期一
Acronis 11 Backup 問題 使用類似Linux的顯示方式時無將資料備份至NTFS磁碟區
使用Acronis開機光碟進行有HDD壞軌進行備份,選擇NTFS外接式隨身碟,結果出現以下錯誤訊息:
使用類似Linux的顯示方式時無將資料備份至NTFS磁碟區....
原來是一開始上方有個設定要開啟使用Windows的瀏覽模式才可以正常備份成功。
另外有壞軌的HDD在備份過程中會出現需要使用者互動的狀況,只要點選一率忽略即可,因為不忽略也不能往下運作了。
2015年4月1日 星期三
秒數轉換成天數公式作法 範例 php
首先因為要計算session的live time所以需要將以下類似這樣的結果進行轉換
Starttime Stoptime Sessiontime
2014-11-09 15:48:26 2014-11-14 14:24:00 426934
公式如下:
function calcTime($diff){
$sec = $diff % 60;
$sec2 = $diff/60;
$min = $sec2 % 60;
$min2 = $sec2 / 60;
$hr = $min2 % 24;
$hr2 = $min2 / 24;
$day = $hr2 % 24;
$result = $day ." 天 " . $hr . " 小時 " . $min . " 分鐘 " . $sec . " 秒";
return $result;
}
換算出來的結果就是:
4 天 22 小時 35 分鐘 34 秒
2015年3月29日 星期日
C# Process Standard Output 隨手筆記
原本有些API在應用的時候,原本的想法就是透過Telnet的方式來呼叫進行互動式的操作。
但為了簡化環境的因子,想說如果可以利用C#呼叫外部程式的方式,進行溝通鳩可以了。
雖然事與願違,但還是將測試的過程進行了以下的紀錄。
while (!process.StandardOutput.EndOfStream)
{
string line = process.StandardOutput.ReadLine();
//line += process.StandardError.ReadLine();
// do something with line
Console.WriteLine(line);
}
但我發現有些程式如果還在運行中,Standardoutput不認為輸出完成所以不會回傳值。
但如果用ReadLine();則僅能讀取第一行。
後續還有突破再補上。
但為了簡化環境的因子,想說如果可以利用C#呼叫外部程式的方式,進行溝通鳩可以了。
雖然事與願違,但還是將測試的過程進行了以下的紀錄。
Process process = new Process();process.StartInfo.FileName = "cliprogram.exe";process.StartInfo.UseShellExecute = false; //如果輸出導向的話此處要設定process.StartInfo.RedirectStandardOutput = true;process.StartInfo.RedirectStandardInput = true;process.Start();while (!process.StandardOutput.EndOfStream)
{
string line = process.StandardOutput.ReadLine();
//line += process.StandardError.ReadLine();
// do something with line
Console.WriteLine(line);
}
但我發現有些程式如果還在運行中,Standardoutput不認為輸出完成所以不會回傳值。
但如果用ReadLine();則僅能讀取第一行。
後續還有突破再補上。
訂閱:
意見 (Atom)
CentOS Python 3.7 安裝方式
有些開發的程式在python 3.8的檔案套件不相容,例如pymssql,等。 所以如果不建置虛擬環境的話才特意安裝3.7版本的python 安裝流程如下 # 先進行yum套件的update yum update -y # 安裝相依性套件 yum install gcc o...
-
當我們要對SQL中進行運算,如MAX、MIN、SUM,等等。 而當預計算的欄位是NVARCHAR或VARCHAR就會出現類似以下錯誤訊息。 sum 運算子的運算元資料類型 nvarchar 無效。 調整SQL語法如下: SELECT c1,c2,c3,sum(c4)...
-
之前在開發Java監控Server需要用到snmp套件是使用snmp4j 在.net(C#)是使用SNMPSharpNet 今天則是記錄Python上找了一下比較方便的套件pysnmp 官方網站如下: http://snmplabs.com/pysnmp/index.htm...
-
原本有些API在應用的時候,原本的想法就是透過Telnet的方式來呼叫進行互動式的操作。 但為了簡化環境的因子,想說如果可以利用C#呼叫外部程式的方式,進行溝通鳩可以了。 雖然事與願違,但還是將測試的過程進行了以下的紀錄。 Process process = new ...
